我创建了对话框,并尝试添加一些别名来更改标题和文字:
import QtQuick 2.0
import Ubuntu.Components 0.1
import Ubuntu.Components.Popups 0.1
Item {
signal confirmed;
signal canceled;
property alias title: dialog.title
property alias text: dialog.text
signal show(variant caller);
Component {
id: dialogComponent
Dialog {
id: dialog
title: "Exit Game"
text: "Are you sure that you want to exit?"
Button {
text: "cancel"
onClicked:
{
canceled();
PopupUtils.close(dialog);
}
}
Button {
text: "confirm"
color: "orange"
onClicked:
{
confirmed();
PopupUtils.close(dialog);
}
}
}
}
onShow:
{
PopupUtils.open(dialogComponent, caller)
}
}
但我有问题:
qrc:/ConfirmationDialog.qml:8:23: Invalid alias reference. Unable to find id "dialog"
那么,如何创建这个别名呢?为什么物品看不到它?更改此属性的最佳方法是什么?
祝你好运, 尼克
答案 0 :(得分:3)
在实例化之前,对话框对象将不可用,因为它在组件内部。
如果它不在组件中,您可以引用它的id。
答案 1 :(得分:0)
这是因为Component
QML元素。只需将Dialog
作为.qml
文件中的顶级项目,然后将 视为动态实例化的组件。