智能家居实训(华清远见)第六天
课程主要内容:
(1)安装QT 编译软件;
(2)学习软件的基本用法,创建工程文件
(3)了解软件中ui界面的组件及其属性用法。
(4)代码编写以及运行:组件使用;图片显示;计算器;多页面跳转;定时器生成;网络连接。
代码以及作业:
//图片显示
#include "pic.h"
#include "ui_pic.h"pic::pic(QWidget *parent) :QMainWindow(parent),ui(new Ui::pic)
{ui->setupUi(this);this->setWindowTitle("hhh");this->setWindowIcon(QIcon(":/004.png"));QPixmap pix = QPixmap(":/001.png").scaled(this->size());QPalette palette;palette.setBrush(backgroundRole(),QBrush(pix));this->setPalette(palette);
}pic::~pic()
{delete ui;
}void pic::on_pushButton_clicked()
{}
//计算器
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qmessagebox.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{QString str1 = ui->lineEdit->text();QString str2 = ui->lineEdit_2->text();double arg1 = str1.toDouble();double arg2 = str2.toDouble();double result = 0;if(ui->comboBox->currentText()=="+"){result = arg1 + arg2;}else if(ui->comboBox->currentText()=="-"){result = arg1 - arg2;}else if (ui->comboBox->currentText()=="*"){result = arg1 *arg2;}else{if(arg2==0){QMessageBox::warning(this,"警告","除法运算中除数不能为0,请重新输入");myClear();}else{result = arg1/arg2;}}QString tmp1 = QString::number(result);ui->label_2->setText(tmp1);
}
void MainWindow::myClear()
{ui->lineEdit->clear();ui->lineEdit_2->clear();ui->label_2->clear();
}
//定时器生成:
#include "widget.h"
#include "ui_widget.h"
#include <QTimer>
#include <QTime>
widget::widget(QWidget *parent) :QWidget(parent),ui(new Ui::widget)
{ui->setupUi(this);connect(&timer,SIGNAL(timeout()),this,SLOT(timeroutSlot()));//参数1:信号发出者//参数2:发出怎样的信号//参数3:this//参数4:槽函数ui->lcdNumber->setDigitCount(8);QTime time(0,0,0);ui->lcdNumber->display(time.toString("hh:mm:ss"));n = 0;
}widget::~widget()
{delete ui;
}
void widget::timeroutSlot()
{QTime time(0,0,0);n++;QTime tmp = time.addSecs(n);ui->lcdNumber->display(tmp.toString("hh:mm:ss"));
}void widget::on_pushButton_clicked()
{timer.start(1000);
}
//网络连接:
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);connect(&socket,SIGNAL(connected()),this,SLOT(myconnectSlot()));connect(&socket,SIGNAL(readyRead()),this,SLOT(recvSlot()));
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString ip=ui->lineEdit->text();int port = ui->lineEdit_2->text().toInt();socket.connectToHost(ip,port);
}
void Widget::myconnectSlot()
{ui->pushButton->setEnabled(false);
}void Widget::on_pushButton_2_clicked()
{QString str = ui->lineEdit_3 ->text();QByteArray arr;arr.append(str);socket.write(arr);
}
void Widget::recvSlot()
{char buf[100]={0};socket.read(buf,sizeof(buf));QString str=QString::fromUtf8(buf);ui->recvlabel->setText(str);
}
收获和感悟:Qt这个软件是基于C++的编程语法,没有学过不过感觉还好学过C语言和C#之后,写代码也没有很困难,或者说很难理解中间的逻辑,界面设计方面和vs一样拖拽过去就好了,也是比较容易操作的。要注意的就是头文件部分,我老是忘记写头文件,找半天错误,还是要细心认真的写代码。
智能家居实训(华清远见)第六天相关推荐
- 物联网智能家居实训系统
物联网智能家居实训系统 产品型号和技术规格 系统概述 物联网智能家居实训系统,以智能家居行业为背景,对智能家居中多个子系统进行安装调试操作,培养学生的工程技能,使其能够搭建相对复杂的物联网应用系统,并 ...
- 华清远见智能小车视频服务器,华清远见版世界杯足球对抗赛,智能小车C位出道...
哎,听说了吗?前天德国输了 听说了,简直扎心,不想接着看了,感觉人生失去了方向 世界杯不看了,可以看华清远见版世界杯足球对抗赛啊 听说还有视频彩蛋呢! 那还等啥啊,走,看看去! 4年一次的世界杯,简直 ...
- 智能家居实训(华清远见)第三天
内容:(课程主要内容,代码/作业,收获,感悟,建议等) 主要内容:(1)对昨天留下的作业进行讲解: (2)复习昨天讲解的知识 (3)讲解今天所需要的知识点以及操作步骤 #include <sys ...
- 智能家居实训第一天 嵌入式介绍 需求分析 开发环境 Linux基础知识
===========嵌入式===================== 走向: 软件 人机交互 内核 系统 硬件 单片机 C语言:51单片机 写代码---- ...
- 智能家居实训(华清远见)第一天
一.项目介绍 利用集成开发板,编写代码实现温湿度数据采集显示,摄像头采集图像,按键控制led小灯. 二.软件介绍 VMware.Qt 三.基本内容讲解 vim编辑器: 三种模式:命令行模式 插入模式 ...
- 智能家居实训第六天 音频 视频播放器
===============音频================= 一.手机如何播放音乐 1)播放器: 酷狗/QQ音乐/网易云 2)音乐类型: ***.MP3 二.gec6818的开发板 ...
- 智能家居实训第八天 JPG库 和摄像头使用
一:JPG库---->jpg或者jpeg图片----->液晶 jpg文件是有损的 jpg是24位颜色图 JPEG格式:经过压缩----->使用算法还原 ...
- “我让这个世界更酷”2022华清远见研发产品发布会圆满成功
6月18日,"我让这个世界更酷"华清远见2022线上直播新品发布会圆满结束.此次发布会,华清远见教育集团教研副总裁/研发中心总经理刘洪涛老师,在直播现场做了精彩分享,研发中心10余 ...
- 2020年回顾 | 华清远见研发中心2020年终盘点
每个人都在做2020年的总结,我们也来一篇,盘点下这一年我们的收获! 也衷心祝福2021,我们的国家:山河锦绣 国泰民安:我们的人民:和顺致祥 幸福美满! 2020年,新冠疫情肆虐全球的一年,所有行业 ...
最新文章
- apache 下实现防盗链
- Java提升篇——equals()方法和“==”运算符
- 这八大互联网金融商业模式,你都知道吗?
- leetcode 55. Jump Game | 55. 跳跃游戏(暴力递归->傻缓存->DP)
- 一个基础的 HTML 文档有哪些标签?(3)
- Selector#wakeup()
- 【数据结构和算法笔记】:广义表
- 【转载】通过SQL获取MSSQL的数据库相关信息收藏
- linux安装rz命令
- php怎么用origin打开,[转载]origin 使用技巧 (4)
- 2021-01-19 :在pycharm中创建包含anaconda中各种库的环境
- 3D打印机的USB接口和SD卡接口防静电设计
- ubuntu文件系统字体底纹含义
- 易语言超文本ctrl c,易语言超文本浏览框和程序交互源码
- 计算机视觉摔倒检测,有关摔倒检测数据集(fall detection databases)
- 计算机零基础速学,教你零基础学习电脑绘画!
- Event-B 形式化方法
- [Ubuntu]vim中文乱码
- 第13周项目4 立体类族公有的抽象类
- 数据分析 NO.16 摩拜单车数据分析项目