2016-09-27 54 views
0

我得到的FileDialog叫我這段代碼的主窗口內:的Qt 5.7 QFileDialog行動不起作用

QAction *actionWithShortcut = new QAction(); 
actionWithShortcut->setShortcut(Qt::CTRL + Qt::Key_9); 
actionWithShortcut->setShortcutContext(Qt::ShortcutContext::WidgetWithChildrenShortcut); 
// added this comment to check does it work at list outside filedialog 
// addAction(actionWithShortcut); 
QFileDialog *fd = new QFileDialog(this); 
fd->addAction(actionWithShortcut); 
connect(actionWithShortcut, &QAction::triggered, fd, &QFileDialog::reject); 
fd->show(); 

不過貌似我不能有任何的行爲增加QFileDialog或者他們已經在某種程度上忽略。有什麼建議麼? 已經嘗試過窗口標誌,選項等。找不到任何解決方案。

回答

3

默認情況下,QFileDialog是本機對話框的薄包裝。 Qt沒有達到圍繞本機對話框打包動作所需的時間長度。所以這是一個缺少實現的情況。您可以修補Qt,使其在您選擇的平臺上運行,當然,還可以爲變更做出貢獻。

如果您要切換到非本地文件對話框,則該操作可能會起作用。