简易版智能家居系统界面,登录窗口、控制面板、及两者间的逻辑关系

请点击:相关代码

设计登录界面

这里采用ui绘制+信号槽函数实现逻辑功能,绘制方面用到Label、Widge、Line Edit、Push Button等。

首先改变样式,为界面配上图。鼠标右键选着“改变样式表”,可添加资源、颜色、改变字体,其中color是字体的颜色、background-color是背景颜色,这里要注意的是背景要放到后面哦,不然就全覆盖了、还有个改变方框弧度的border-radius:10px;这个要手动输入,所以得记住代码,10px表示的是弧度。

智能家居系统Qt项目博客 基于qt的智能家居系统_ui


智能家居系统Qt项目博客 基于qt的智能家居系统_登陆界面_02

设置登陆界面的逻辑

当按下“安全登录”键后,通过发出信号调用槽函数判断:
1)账号或密码是否为空
2)账号密码是否正确(与内设是否一致)

通常输入密码都是暗文,即看不见输入的字符,而本次的操作中密码是直接显示在Label上的,这样大大的降低了安全性,故采用setEchoMode()来隐藏明文,代码如下:

ui->pass->setEchoMode(QLineEdit::Password);

/
登录成功后要跳转到控制台,即关闭登录界面,打开控制界面。这里由于是在局部内,故不能用局部变量来打开界面,不然就是一闪而逝,此处代码如下:

MainWindow *mainWin=new MainWindow;
    mainWin->show();
    this->close();

对控制面板的设计

拿灯来说(其余三个音响、射灯、空调都是一样的),两个Qlabel一个Qslider和一个QpushButton空白Qlabel(或QPushButton)上右键选择改变样式表,点击添加资源选择image(这里image是个包含众多图片的文件夹,在工程内添加文件夹选Qt Resource File然后添加…有一点要注意,image文件夹要和工程放在一起)

智能家居系统Qt项目博客 基于qt的智能家居系统_智能家居系统Qt项目博客_03


智能家居系统Qt项目博客 基于qt的智能家居系统_登陆界面_04


然后将这一排中除了Qslider都改成Expanding;

智能家居系统Qt项目博客 基于qt的智能家居系统_智能家居系统Qt项目博客_05


选中这一排水平布局并变形为Qwidget;

智能家居系统Qt项目博客 基于qt的智能家居系统_开发语言_06

添加颜色上背景色,修改弧度,调制合适的大小。再复制3个依次修改为空调、音响、射灯图标,将4个调到合适的位置,后面就是ListWidget和lcdNumber,

控制面板内部逻辑

1、开关控制:(默认开关初始关闭状态)打开开关时,灯开关都亮;关闭时,灯开关全熄
部分代码如下:

static bool isLedon=false;
//设置布尔类型
isLedon=!isLedon;
if(isLedon){
       ui->pushButton_1->setStyleSheet("image:url(:/image/open_led.png);");
       ui->label_light->setStyleSheet("image:url(:/image/led_on.png);");
 }else{
       ui->pushButton_1->setStyleSheet("image:url(:/image/close_led.png);");
       ui->label_light->setStyleSheet("image:url(:/image/led_off.png);");
}

2、温度设置
这里温度用随机数来赋值,随机数种子:

qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
用时间来确定种子,使其不断变化。 同时调用时间函数,每隔一段间隔变化。

3、Widget上输出结果, 这里我们要创建数据模型对象

智能家居系统Qt项目博客 基于qt的智能家居系统_开发语言_07


构造槽函数:

void MainWindow::showMessage(QString msg)
{
    QStandardItem *item=new QStandardItem(msg);
    this->itemModel->insertRow(0,item);
    ui->listWidget->setModel(this->itemModel);
}

简易版智能家居系统

1、登陆界面,可通过注册,使用手机号或账号登陆;

智能家居系统Qt项目博客 基于qt的智能家居系统_ui_08


2、注册设置密码显示暗文,成功后提示注册成功;

智能家居系统Qt项目博客 基于qt的智能家居系统_智能家居系统Qt项目博客_09


3、注册成功后,点击OK返回登陆界面,登陆账号密码;

智能家居系统Qt项目博客 基于qt的智能家居系统_开发语言_10


4、主控界面

左侧为显示框,右侧设置所需功能;

智能家居系统Qt项目博客 基于qt的智能家居系统_qt_11