品牌型网站建设的好处,网站建设市场数据分析,模板建网站费用,谁专门做网站安全维护1.创建QML工程
新建文件或者项目--选择Qt Quick Application 然后生成了一个默认的Window 2.main.cpp中如何加载的qml文件
QQmlApplicationEngine提供了从单个QML文件加载应用程序的便捷方式。
此类结合了QQmlEngine和QQmlComponent#xff0c;以提供一种方便的方式加载…1.创建QML工程
新建文件或者项目--选择Qt Quick Application 然后生成了一个默认的Window 2.main.cpp中如何加载的qml文件
QQmlApplicationEngine提供了从单个QML文件加载应用程序的便捷方式。
此类结合了QQmlEngine和QQmlComponent以提供一种方便的方式加载单个QML文件
int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);QQmlApplicationEngine engine;engine.load(QUrl(QStringLiteral(qrc:/main.qml)));if (engine.rootObjects().isEmpty())return -1;return app.exec();
}3.Window简介
Window的 xy位置相对于屏幕或者相对于虚拟桌面屏幕左上角的坐标为0,0。往右 x不断增大往下y不断增大。
Window { x: 100; y: 100; width: 100; height: 100 } 限制最大、最小高度最大、最小宽度。
通常新创建的Window可以自由伸缩可以使用以下成员限制。
Window {visible: truewidth: 100height: 100title: qsTr(Hello World)maximumHeight:200minimumHeight:50maximumWidth:200minimumWidth:50
}透明度
opacity:0.5 信号和槽 QML中对于任何一个属性都会生成一个属性修改的信号和槽函数比如以下就是宽和高改变时发出的信号。
void heightChanged(int arg)void widthChanged(int arg)则对应的槽函数就是前面加 on 然后大写。 onWidthChanged: {console.log(width ,width);}onHeightChanged: {console.log(Height ,height);} 自定义信号
自定义了一个属性value会自动生成onValueChanged的槽函数。
然后创建了一个Button每点击Button的时候value自增会触发valueChanged()信号。 property int value: 0onValueChanged: {console.log(value ,value);}Button{width: 50height: 50x:0y:0background: Rectangle{color:red}onClicked: {value}} 焦点问题
在Window里面做了两个Button里面有个activeFocusItem属性捕获当前焦点自然也会存在焦点改变的信号和槽onActiveFocusItemChanged。
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.1Window {visible: truewidth: 400height: 400title: qsTr(Hello World)// maximumHeight:200
// minimumHeight:50
// maximumWidth:200
// minimumWidth:50// opacity:0.5// onWidthChanged: {
// console.log(width ,width);
// }// onHeightChanged: {
// console.log(Height ,height);
// }// property int value: 0// onValueChanged: {
// console.log(value ,value);
// }Button{width: 50height: 50id:b1objectName:b1x:0y:0focus: truebackground: Rectangle{border.color:b1.focus?red:blackborder.width:b1.focus?3:1}}Button{width: 50height: 50id:b2objectName:b2x:60y:0background: Rectangle{border.color:b2.focus?yellow:blackborder.width:b2.focus?3:1}}onActiveFocusItemChanged: {console.log(ActiveFocusItem: ,activeFocusItem.objectName);}
}