Я хочу открыть QFileDialog через QQuickItem.Откройте QFileDialog через QQuickItem
void
MyCoolQQuickItem::loadFileDialog()
{
QString filename = QFileDialog::getOpenFileName(this, "Open a file",
"C:\\path to my stuff\\", "*.*");
if(filename.size()>0) {
// load file and do stuff
}
}
My MyCoolQQuickItem - это подкласс QQuickItem. И QFileDialog :: getOpenFileName должен быть QWidget * как родительский. Если я передам null_ptr вместо этого, диалоговое окно откроется правильно как модальный диалог. Но после того, как я закрою диалог, неправильное окно получает фокус.
я попытался передать в окно вместо (this- окно>(), но у меня есть QQuickWindow, то, что также не может быть разобраны в QWidget.
Я мог бы использовать QML File-Dialog вместо этого. http://qt-project.org/doc/qt-5/qml-qtquick-dialogs-filedialog.html
Но я хочу использовать QFileDialog здесь. http://qt-project.org/doc/qt-5/qfiledialog.html
Любая идея, как я могу решить эту проблему?
Спасибо за ваш ответ, сэкономив место, не добавляя Qt5Widgets, у вас есть хорошая точка. Я просто хочу использовать старые добрые диалоги и начал добавлять этот QFileDialog, не думая делать это в QML. Я попробую. –