我必须使用 QTest、Qt、C++ 自动化测试:我在选项卡(tabwidget 的一部分)中写入文本,然后尝试关闭它,然后出现 QFileDialog(因为我对选项卡中的纯文本进行了更改),我尝试像这样“捕捉” QFileDialog:
QWidgetList topWidgets = QApplication::topLevelWidgets();
foreach (QWidget *w, topWidgets) {
if (QFileDialog *fd = qobject_cast<QFileDialog *>(w)) {
fd->setFileMode(QFileDialog::ExistingFiles);
fd->selectFile("/tmp/test.txt");
}
}
获得 QFileDialog 对象后,我希望将选项卡中的更改保存在我之前在 tmp 目录中创建的文件“test.txt”中。当我执行这个没有任何反应时,QFileDialog 弹出,但 test.txt 没有被选中也没有保存,我该如何实现呢?