1、首先,我们创建一个Qt Quick程序,点击qt creator新建项目或文件,选择Qt Quic娱浣嫁装k Application,这里我们另外说明一下其他几个选项的意思,widget application是指C++控件程序,console application是指终端应用程序,即没有用户界面的程序,quick controls 2 application是指添加controls模块,这一项实际和我们选的quick application其实是一样的,只不过这里是预先添加了其他模块,最后一个是canvas3d application,就是说添加了canvas3d的quick程序,大体和上面的一样,只不过是添加了3d模块,其实你可以自己添加的。
2、接着我们选好项目类型后,就点选择,进入项目位置设定界面,这里随意设置即可,按自己喜欢。
3、然后我们进入编译项目类型选择,有qmake ,cmake,qbs,一般来说我们就选qmake了,当然我们也可以选择cmake,如果你对cmake熟悉,并且项目也比较大,功能模块大概在30个以上的,预计代码量达到7万以上,可执行程序的生成较多,参与人员很多的情况下,你就应该选择cmake了。至于qbs,如果你需要创建一套跨平台的编译系统,那就选qbs吧。
4、然后到了编译器的选择了,这里我安装了好几个编译器,原则上你如果需要测试新功能的话,就选最新就好,如果一般写程序,基本Qt5.3以上就行了,我这里选择5.6,因为平时用习惯了这个,工作中也是它,避免麻烦了。
5、接着是选择编译链,大家可以看到,我电脑上装了很多编译链,有msvc的,有mingw的,有android的,所以Qt为什么目前很火呢,就是因为我们写的程序,如果直接使用android,visual studio,xcode去编译,就可以生成对应平台的程序了,是不是很方便。这里我们选择mingw,在qtcreator下,我们一般就选择mingw了,如果你是其他的,对应IDE去选就行。最后一个git的选项,我们直接完成就行,如果你想上传到你自己的git上去的话,配置一下你的git地址就可以了。
6、工程创建完毕,我们开始编写我们的自定义按钮,虽然目前qt的button模块也是提供的,但是,有时候我们依然需要更加复杂的组件,这里只是举个例子吧。首先我们新建一个qml文件,打开文件,点Qt,芬简砝鬃看到QML File,我们就可以创建的了。这里注意qml文件的文件名,如果是组件,也就是说你将来会在其他qml文件中使用这个qml文件组件的话,你的组件的名称就是这个qml文件的名称了。所以这里的名称需要以大写字母开头的。这里我们写成CircleButton(.qml)
7、文件添加完毕,我们就要选择CircleButton的模型组件了,即模板组件,既然按钮是可见的,可点击,有颜色边框属性的,那么很显然,我们需要选择Rectangle组件来做按钮的模板组件了。所以我们创建一个矩形组件,将其可视区域添加一个鼠标点击区域MouseArea,这样一个基本的按钮就算形成了。
8、然后,这个按钮还需要形状,譬如,圆形的话,我们就设置radius半径属性,这些属性都是可以在Qt帮助文档的Rectangle组件下可查看到的。接着,我们还需要一个按钮文字标签,那么就在Rectangle下添加一个Text组件,Text组件的text属性便是我们用来设置按钮文字的地方了。但是qml中我们是无法直接访问组件内部元素的,所以我们需要在Rectangle里面设置一个变量,将text属性传递出来。
9、最后,我们添加一个clicked点击信号,通过这个信号,我们就可以执行点击动作了,其他属性如颜色,宽高,布局,我们可以自己尝试。
10、按钮算是做完了,那么怎么用呢?上面我们已经提到了,将按钮文件名作为组件名直接放入main.qml中就可以使用的。需要更改的属性我们依旧可以在这个组件里面修改。
11、最终点击效果如下图,如果我们想要做出更多的效果,譬如,你可以添加图片,添加动画,渐变色,完全可以做到,只需要在按钮qml文件中添加即可。其他自定义控件也是如此,以后我们会继续定制更复杂的组件的。