我必須使用QTest,Qt,C++自動化測試: 我在tab(tabwidget的一部分)中寫入文本,然後嘗試關閉它,之後出現QFileDialog(因爲我進行了更改在選項卡中的明文),我嘗試「抓住」 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對象我想從我的標籤更改保存在文件「的test.txt」之後我之前在tmp目錄下創建的。當我執行這個沒有任何反應時,彈出QFileDialog,但test.txt沒有被選中,也沒有保存,我怎麼能做到這一點?
你想讓fileDialog自動選擇文本文件(只需在QFileDialog調用中提供一個默認文件名),還是自動保存到文本文件中(只需刪除QFileDialog並保存爲text.txt)? –
我想自動選擇文本文件(然後使用QFileDialog自動保存) – RandomDisplayName
您是否嘗試在對話框中找到按鈕並調用「click」函數,或者只是簡單地向對話框發送「Enter」鍵事件? – fasked