Qt Design Studio中QML的编辑器视图不正确
这是Qt Design Studio,不是Qt Quick Designer,但可能是相同的 我做了一个组件Qt Design Studio中QML的编辑器视图不正确,qt,qml,qt5,qt-design-studio,Qt,Qml,Qt5,Qt Design Studio,这是Qt Design Studio,不是Qt Quick Designer,但可能是相同的 我做了一个组件 PaneWithTitle.qml Column { id: column Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter spacing: Style.paneTitleOffset property string title property alias inside: inner_sp
PaneWithTitle.qml
Column {
id: column
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
spacing: Style.paneTitleOffset
property string title
property alias inside: inner_space.sourceComponent
DefaultText {
text: qsTr(title)
}
Pane {
id: pane
background: Rectangle {
color: "#283547"
radius: Style.rectangleCornerRadius
}
Loader {
id: inner_space
}
}
}
我是这样使用它的:
PaneWithTitle {
title: "Recovery"
inside: ColumnLayout {
id: rows
TextFieldWithTitle {
id: seed_input
title: qsTr("Seed")
}
TextFieldWithTitle {
id: password_input
title: qsTr("Password")
}
RowLayout {
id: columns
Button {
id: back_button
text: qsTr("Back")
}
Button {
id: confirm_button
text: qsTr("Confirm")
}
}
}
}
当我运行它时,它在实时预览中看起来很好。但在编辑器中,窗格背景的大小为0
是否有一个优雅的解决方案?很难找到一个绝对的解决方案,看起来表单编辑器项层次结构中有一个bug,但您至少可以稍微改进它的显示方式。如果可以,请以QDS的形式提交您的问题 您可以删除
Loader
,将Loader.sourceComponent
替换为pane.contentItem
,并将PaneWithTitle.qml
内容包装为项
。
代码如下所示:
Item {
id: root
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
property string title
property alias inside: pane.contentItem
Column {
id: column
anchors.fill: parent
spacing: Style.paneTitleOffset
Text {
text: qsTr(title)
}
Pane {
id: pane
background: Rectangle {
color: "#283547"
radius: Style.rectangleCornerRadius
}
}
}
}
正确外观的标准是运行应用程序。如果编辑显示不同,我想你必须改变它。应用程序的设计器,但不是相反。不幸的是,这并没有解决问题。它以不同的方式断开,而且它没有携带我在ColumnLayout中设置的
宽度:400