FileDialog в Qml не работает в версии

Я работаю над проектом с Qt Quick Control 2,
Когда я пытаюсь запустить свое программное обеспечение в режиме отладки, FileDialog.qml открывается идеально, но когда я развертываю его в режиме выпуска, он не работает.

Вот мой код:

import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3
import QtQuick.Dialogs 1.0

// File Dialog to browse
FileDialog {
id: openDialog
title: "Please Select An Image"folder: shortcuts.pictures
nameFilters: ["Image files (*.BMP)"]
modality: Qt.NonModal
selectExisting: true

/*
* do my stuff
*/
}

0

Решение

Это работает для меня

FileDialog {
id: fdExport
title: qsTr("File name")
folder: shortcuts.home
selectFolder: true
onAccepted: {

}
}

и бежать

    fdExport.open()

Пожалуйста, попробуйте уйти

modality: Qt.NonModal

из вашего кода.

0

Другие решения

Здесь моя функция Js вызывает FileBrowse.qml (файл в параметрах).
Я вызываю эту функцию в другом виде, как это:

JsCommonCall.openFileDialog("frameFileBrowse.qml",2)function openFileDialog(file,
parentCalled) {
_component = Qt.createComponent(file);
_popUp = _component.createObject(windowsMain,  {"x": offsetPopUpCreate,
"y": offsetPopUpCreate,
"parentCall":parentCalled});
if(_popUp !== null)
_popUp.open()
}

вот мой FileBrowse

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.0

// File Dialog to browse
FileDialog {
id: openDialog
title: "Please Select An Image"folder: shortcuts.home
nameFilters: ["Image files (*.BMP)"]
selectFolder: true
// variables
property int parentCall;

onAccepted: {
imgCurrentCam1.source = openDialog.fileUrl;
openDialog.close()
}onRejected: {
openDialog.close()
}
}
0

Я не знаю, в чем проблема, но приведенный ниже код прекрасно переносится на компьютерах с Windows. Проверено в Linux тоже.

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.0

Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

FileDialog {
id: fdImport
title: qsTr("File name")
folder: shortcuts.home
onAccepted: {
textEdit.text= fdImport.fileUrls[0]
}
}Rectangle {
id: rectangle
color: "#ffffff"anchors.fill: parent

Rectangle {
id: rectangle1
color: "#ffffff"anchors.right: parent.right
anchors.rightMargin: 8
anchors.left: parent.left
anchors.leftMargin: 8
anchors.bottom: rectangle2.top
anchors.bottomMargin: 6
anchors.top: parent.top
anchors.topMargin: 8

TextEdit {
id: textEdit
text: qsTr("Text Edit")
anchors.fill: parent
font.pixelSize: 12
}
}

Rectangle {
id: rectangle2
y: 441
width: 128
height: 32
color: "#ffffff"anchors.left: parent.left
anchors.leftMargin: 8
anchors.bottom: parent.bottom
anchors.bottomMargin: 7

MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: {
fdImport.open()
}

Text {
id: text1
text: qsTr("Click me!")
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
anchors.fill: parent
font.pixelSize: 12
}
}
}
}
}

Файл qt.conf

[Paths]
Plugins=plugins
Libraries=libs

Пожалуйста, не забудьте скопировать все dll (релиз) в исполняемую папку, с папками qml и plugins.

0
По вопросам рекламы [email protected]