je le fichier QML suivant:QML FileDialog de titre défini le code C++
import QtQuick 2.2
import QtQuick.Dialogs 1.2
FileDialog
{
property string myTitle: "Select file to open"
property string myfilter: "All files (*)"
id: fileDialog
objectName: "fileDialogObj"
title: myTitle
folder: shortcuts.home
sidebarVisible : true
nameFilters: [ myfilter ]
onAccepted:
{
close()
}
onRejected:
{
close()
}
Component.onCompleted: visible = true
}
Je veux définir la propriété title
à partir du code C++. J'ai le code qui ressemble à:
QQmlEngine engine;
QQmlComponent component(&engine);
component.loadUrl(QUrl(QStringLiteral("qrc:/qml/my_file_dialog.qml")));
QObject* object = component.create();
object->setProperty("myTitle", "Open file!");
Le titre a la valeur initiale (Select file to open
) de la propriété myTitle
et ne change jamais à Open file!
Qu'est-ce que je fais mal?
MISE À JOUR J'ai aussi essayé de mettre à jour le titre directement à partir du code C++.
Considérant que j'ai l'objet de dialogue, mettre à jour la tuile comme ceci:
QQmlProperty::write(dialog, "title", "testing title");
Et aussi comme ceci:
dialog->setProperty("title", "testing title");
Le titre de propriété de la boîte de dialogue de fichier n'est pas réglé.
Comme @Tarod mentionné dans sa réponse, il semble être un bug.
Ou est-ce qu'il me manque quelque chose?
Je vais attendre un certain temps pour préciser si cela est un bug, puis, si aucune autre réaction est donné , J'accepte ta réponse: c'est un bug. – mtb