1 問題
QQmlExpression: Expression qrc:/Login.qml:26:17 depends on non-NOTIFYable properties:
任何屬性都要關(guān)聯(lián)NOTIFY信號况木,不然在初始化完成后垒拢,任何對屬性的修改都不會更新。
2? 元素的長寬設(shè)置問題
想讓元素的長寬隨父級變化火惊,但是使用了?anchors.fill: parent后子库,元素的大小不會隨父級變化
Component {
? ? ? ? id: mainPage
? ? ? ? MainPage{
? ? ? ? ? ?//? anchors.fill: parent??// 當(dāng)使用此設(shè)置時,對象的長寬不會隨父級改變
? ? ? ? ? ? width: parent.width
? ? ? ? ? ? height: parent.height
? ? ? ? }
? ? }? ?
3 window大小改變監(jiān)聽
當(dāng)窗口大小改變時矗晃,可以通過捕獲QWindow的兩個信號:widthChanged?和?heightChanged來處理
Connections {
? ? ? ? target: mWindow
? ? ? ? onHeightChanged: {
? ? ? ? ? ? console.log('window height change')
? ? ? ? ? ? console.log('height:', mWindow.height)
? ? ? ? ? ? pageLoader.height = mWindow.height
? ? ? ? }
? ? ? ? onWidthChanged: {
? ? ? ? ? ? console.log('window width change')
? ? ? ? ? ? console.log('width:', mWindow.width)
? ? ? ? ? ? pageLoader.width = mWindow.width
? ? ? ? }
? ? }
4 ListView
Using C++ Models with Qt Quick Views
5 動態(tài)創(chuàng)建QML對象
在StackLayout中動態(tài)添加子對象
var component = Qt.createComponent("OrderList.qml");
?if (component.status === Component.Ready) {
? ? ? ? ? ? ? component.createObject(stackLayout); // 創(chuàng)建對象仑嗅,并指定父級, stackLayout為 StackLayout對象的id
? ? ? ? ? ? ? stackLayout.currentIndex = 1
?}