1、新建项目注意

在创建一个项目时,我们要根据需要选择一个基类,如下图所示,根据需要合理选择。

Qt开发智能家居系统 基于qt智能家居系统代码_Qt开发智能家居系统

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头文件里

Qt开发智能家居系统 基于qt智能家居系统代码_qt_02

在widget.cpp文件里

Qt开发智能家居系统 基于qt智能家居系统代码_c++_03

4、绘制一个智慧家居界面

①、绘制界面

(1)打开widget.ui文件

Qt开发智能家居系统 基于qt智能家居系统代码_c++_04


(2)拖动组件,构成界面

Qt开发智能家居系统 基于qt智能家居系统代码_Qt开发智能家居系统_05


附加知识点:

1)将资源图片导入到工程里

Qt开发智能家居系统 基于qt智能家居系统代码_Qt开发智能家居系统_06


Qt开发智能家居系统 基于qt智能家居系统代码_qt_07

命名后,主文件目录下就多了一个资源文件。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_08


选中然后右键,以资源编辑器的方式打开。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_09


添加之前注意

图片提前复制到创建的工程目录文件下;
	并且图片的名字不要含中文字样。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_10


最后在工程目录下就可以看到添加的图片了。

Qt开发智能家居系统 基于qt智能家居系统代码_UI_11


2)对标签添加样式表

选中标签,然后鼠标右键,选择改变样式表。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_12


Qt开发智能家居系统 基于qt智能家居系统代码_UI_13

②给登录按钮添加功能

功能:实现从登录界面跳转到另一个界面。

(1)在工程中添加一个UI界面

我们一般创建设计师界面类

Qt开发智能家居系统 基于qt智能家居系统代码_Qt开发智能家居系统_14


然后工程目录下就会出现:

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_15


(2)绘制新的UI界面

修改按钮的样式和上面修改标签样式的方法一样。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_16


(3)为登录按钮实现信号与槽的功

有两种方法:
	一、手动创建信号槽函数,并且使用connect函数将信号与槽函数进行绑定。
	二、让自动创建槽函数,并实现信号与槽的绑定。

第一种方法:自动创建

在主UI界面中选择登录按钮,然后右键选择转到槽。

Qt开发智能家居系统 基于qt智能家居系统代码_qt_17


选择触发的信号,我这里选择点击信号。

Qt开发智能家居系统 基于qt智能家居系统代码_Qt开发智能家居系统_18


自动跳转到widget.cpp文件中对应的槽函数里,我们就可以在里面写功能代码。

Qt开发智能家居系统 基于qt智能家居系统代码_c++_19


系统生成的槽函数名称都有一个规律———on_组件名_触发信号,对应上面:

Qt开发智能家居系统 基于qt智能家居系统代码_qt_20

第二种方法:手动创建

(1)先在对应的头文件中声明槽函数:

槽函数必须要以slots关键字来修饰,即下面的是【slots:】,同理信号函数也需要以signals来标识。

Qt开发智能家居系统 基于qt智能家居系统代码_UI_21


(2)在对应的cpp文件中实现槽函数。

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_22

备注:我这里分别从UI界面中的编辑框中读取用户名和密码,然后进行判断。判断成功则为第二个UI界面创建一个对象,同时将第二个UI界面的大小设置成和主UI界面大小一样。然后进行显示。

(3)最重要的一步:将信号与槽函数进行绑定

Qt开发智能家居系统 基于qt智能家居系统代码_开发语言_23


注:SIGNAL()指定对应的信号函数,SLOT()指定对应的槽函数。绑定函数connect其实还有一种写法,如下所示:

connect(ui->pushButton_login ,  &QPushButton::clicked  , this , &Widget::pushButton_login_clicked );

③调试运行程序

最后调试运行程序,最开始会进入主界面(第一个UI界面),输入用户名和密码后,点击登录按钮就会进入功能界面了(第二个UI界面)。