1、新建项目注意
在创建一个项目时,我们要根据需要选择一个基类,如下图所示,根据需要合理选择。
2、初始代码解读
这里我选择的基类是Qwidget。
#include "widget.h" //自动引入widget这个类的头文件,widget继承了Qwidget
#include <QApplication> //在每一个使用Qt图形化应用程序中都必 须使用一个 QApplication 对象。
//QApplication管理了各种各样的图形化应用程序的广泛资源、 基本设置 、 控制流及 事件处理等。
int main(int argc, char *argv[]) //应用程序的入口
{
QApplication a(argc, argv); //a 是这个程序的 QApplication 对象。
//在任何Qt的窗口系统部件被使用之前创建 QApplication 对象是必须的。
Widget w; //创建一个窗口对象,在对象中完成窗口的各种功能
w.show(); //将创建的窗口进行显示。
return a.exec(); //程序进入消息循环,处理各种消息。
}
3、自己编写代码存放位置
在C语言中,自己编写的代码一般放于main函数里,QT里我们往往将自己写的函数放于初始类的构造函数里,并且在初始类里进行各种声明。如下:
在widget.h头文件里
在widget.cpp文件里
4、绘制一个智慧家居界面
①、绘制界面
(1)打开widget.ui文件
(2)拖动组件,构成界面
附加知识点:
1)将资源图片导入到工程里
命名后,主文件目录下就多了一个资源文件。
选中然后右键,以资源编辑器的方式打开。
添加之前注意:
图片提前复制到创建的工程目录文件下;
并且图片的名字不要含中文字样。
最后在工程目录下就可以看到添加的图片了。
2)对标签添加样式表
选中标签,然后鼠标右键,选择改变样式表。
②给登录按钮添加功能
功能:实现从登录界面跳转到另一个界面。
(1)在工程中添加一个UI界面
我们一般创建设计师界面类
然后工程目录下就会出现:
(2)绘制新的UI界面
修改按钮的样式和上面修改标签样式的方法一样。
(3)为登录按钮实现信号与槽的功
有两种方法:
一、手动创建信号槽函数,并且使用connect函数将信号与槽函数进行绑定。
二、让自动创建槽函数,并实现信号与槽的绑定。
第一种方法:自动创建
在主UI界面中选择登录按钮,然后右键选择转到槽。
选择触发的信号,我这里选择点击信号。
自动跳转到widget.cpp文件中对应的槽函数里,我们就可以在里面写功能代码。
系统生成的槽函数名称都有一个规律———on_组件名_触发信号,对应上面:
第二种方法:手动创建
(1)先在对应的头文件中声明槽函数:
槽函数必须要以slots关键字来修饰,即下面的是【slots:】,同理信号函数也需要以signals来标识。
(2)在对应的cpp文件中实现槽函数。
备注:我这里分别从UI界面中的编辑框中读取用户名和密码,然后进行判断。判断成功则为第二个UI界面创建一个对象,同时将第二个UI界面的大小设置成和主UI界面大小一样。然后进行显示。
(3)最重要的一步:将信号与槽函数进行绑定
注:SIGNAL()指定对应的信号函数,SLOT()指定对应的槽函数。绑定函数connect其实还有一种写法,如下所示:
connect(ui->pushButton_login , &QPushButton::clicked , this , &Widget::pushButton_login_clicked );
③调试运行程序
最后调试运行程序,最开始会进入主界面(第一个UI界面),输入用户名和密码后,点击登录按钮就会进入功能界面了(第二个UI界面)。