0
在此QML
示例中,未示出Rectangle
。標籤Usuarios會出現,但矩形本身不會。非常奇怪的行爲,你能說出爲什麼嗎?你可以用qmlscene
來測試這個例子。QML中未顯示矩形
示例代碼:
主文件:
$ cat UsersGroups.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
Page {
anchors.fill: parent
header: TabBar {
id: bar
width: parent.width
TabButton {
text: qsTr("Users")
}
TabButton {
text: qsTr("Groups")
}
TabButton {
text: qsTr("Schedules")
}
}
StackLayout {
width: parent.width
currentIndex: bar.currentIndex
Users {
id: users
}
Groups {
id: groups
}
Schedules {
id: schedules
}
}
}
輔助文件
用戶文件:
$ cat Users.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.3
import Qt.labs.settings 1.0
Item {
anchors.fill: parent
Rectangle {
anchors.fill: parent
color: "blue"
border.color: "red"
border.width: 5
Label {
text: "Usuarios"
}
}
}
組的文件:
個$ cat Groups.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
Item {
Label {
text: "Grupos"
}
}
時間表文件:
$ cat Schedules.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
Item {
Label {
text: "Schedules"
}
}
會理解上解決這一問題的任何指針。
StackLayout高度丟失,因此「矩形」的高度爲0,這是不可見的。將'height:parent.height'添加到'StackLayout'可以解決問題。 – mcchu
@mcchu。你是對的。它增加了高度,它工作。爲什麼標籤可以工作呢?但矩形不。矩形應該包含標籤。 QT中的錯誤? – Nulik
由於默認情況下Rectangle不[clip](http://doc.qt.io/qt-5/qml-qtquick-item.html#clip-prop)。如果將'clip:true'添加到該矩形(或其父項),則標籤也不會顯示。 – mcchu