基于Qt的车载GPS监控系统(5)温度设置
来源:互联网 发布:centos 查看内核版本 编辑:程序博客网 时间:2024/05/16 05:15
基于Qt的车载GPS监控系统(5)温度设置
设置界面
界面的类构成
基类:SetDialog 实现子功能界面通用的共性元素,背景设置,系统标题,子功能名称,返回按钮。
派生类:AlarmDialog 实现温度上限,下限,当前值的显示与设置功能。
设置对话框头文件
#ifndef SETDIALOG_H#define SETDIALOG_H#include <QtGui>#include <QDebug>#include"dht9000.h"class SetDialog : public QDialog{ Q_OBJECTpublic: SetDialog(QWidget *parent=0);protected: QLineEdit * lineTitle; struct st_sys_dev g_dev[1]; QToolButton *buttonSet;private: QLabel *labelBg;};#endif // SETDIALOG_H
设置对话框实现文件
#include "setdialog.h"#include "dht9000.h"#include<QtGui>#include<QDebug>SetDialog::SetDialog( QWidget *parent) : QDialog( parent){ load_dev(g_dev); this->setWindowIcon(QPixmap( ":/images/1.png") ); this->setWindowTitle(tr("GP9001车载GPS监控系统")); this->setMinimumSize(800,480); this->setMaximumSize(800,480); labelBg = new QLabel(this); labelBg->setGeometry(QRect(0, 0, 800, 480)); labelBg->setPixmap(QPixmap(":/images/9001bg.jpg")); labelBg->setScaledContents(true); lineTitle = new QLineEdit(this); //设置显示数字字体大小 QFont font = lineTitle->font(); font.setPointSize(font.pointSize() + 5); lineTitle->setFont(font); lineTitle->setText(tr("系统设置")); lineTitle->setReadOnly(true); lineTitle->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter); lineTitle->setGeometry(QRect(300, 90, 200, 35)); buttonSet = new QToolButton(this); buttonSet->setGeometry(QRect(350, 360, 100, 100)); buttonSet->setText( tr( "保存/退出" ) ); buttonSet->setIcon( QPixmap( ":/images/5.png") ); buttonSet->setIconSize( QPixmap( ":/images/5.png").size() ); buttonSet->setAutoRaise( TRUE ); buttonSet->setToolButtonStyle( Qt::ToolButtonTextUnderIcon); connect(buttonSet,SIGNAL(clicked()),this,SLOT(accept()));}
温度设置头文件
ifndef ALARMDIALOG_H#define ALARMDIALOG_H#include "setdialog.h"class AlarmDialog:public SetDialog{ Q_OBJECTpublic: AlarmDialog(QWidget *parent = 0);public slots: void saveDev();private: QLabel *labTempUp; QSpinBox *spinTempUp; QSlider *slidTempUp; QLabel *labTempLow; QSpinBox *spinTempLow; QSlider *slidTempLow; QLabel *labHumiUp; QSpinBox *spinHumiUp; QSlider *slidHumiUp;};#endif // ALARMDIALOG_H
温度设置实现程序
#include"alarmdialog.h"AlarmDialog::AlarmDialog(QWidget *parent) :SetDialog(parent){ this->lineTitle->setText(tr("温度设置")); load_dev(g_dev); //设置温度上限值 labTempUp = new QLabel(this); labTempUp->setText(tr("设置温度上限值:")); labTempUp->setGeometry(QRect(200, 170, 100, 25)); spinTempUp = new QSpinBox(this); spinTempUp->setRange(20,50); spinTempUp->setGeometry(QRect(310, 170, 60, 25)); spinTempUp->setValue(g_dev->alarm_set.temp_upper); slidTempUp = new QSlider(this); slidTempUp->setRange(20,50); slidTempUp->setOrientation(Qt::Horizontal); slidTempUp->setGeometry(QRect(380, 170, 260, 25)); slidTempUp->setValue(g_dev->alarm_set.temp_upper); connect(spinTempUp,SIGNAL(valueChanged(int)),slidTempUp,SLOT(setValue(int))); connect(slidTempUp,SIGNAL(valueChanged(int)),spinTempUp,SLOT(setValue(int))); //设置温度下限值 labTempLow = new QLabel(this); labTempLow->setText(tr("设置温度下限值:")); labTempLow->setGeometry(QRect(200, 220, 100, 25)); spinTempLow = new QSpinBox(this); spinTempLow->setRange(-30,15); spinTempLow->setGeometry(QRect(310, 220, 60, 25)); spinTempLow->setValue(g_dev->alarm_set.temp_lower); slidTempLow = new QSlider(this); slidTempLow->setRange(-30,15); slidTempLow->setOrientation(Qt::Horizontal); slidTempLow->setGeometry(QRect(380, 220, 260, 25)); slidTempLow->setValue(g_dev->alarm_set.temp_lower); connect(spinTempLow,SIGNAL(valueChanged(int)),slidTempLow,SLOT(setValue(int))); connect(slidTempLow,SIGNAL(valueChanged(int)),spinTempLow,SLOT(setValue(int))); //设置车厢温度 labHumiUp = new QLabel(this); labHumiUp->setText(tr("设置车厢温度值:")); labHumiUp->setGeometry(QRect(200, 270, 100, 25)); spinHumiUp = new QSpinBox(this); spinHumiUp->setRange(-30,20); spinHumiUp->setGeometry(QRect(310, 270, 60, 25)); spinHumiUp->setValue(g_dev->alarm_set.temp); slidHumiUp = new QSlider(this); slidHumiUp->setRange(-30,20); slidHumiUp->setOrientation(Qt::Horizontal); slidHumiUp->setGeometry(QRect(380, 270, 260, 25)); slidHumiUp->setValue(g_dev->alarm_set.temp); connect(spinHumiUp,SIGNAL(valueChanged(int)),slidHumiUp,SLOT(setValue(int))); connect(slidHumiUp,SIGNAL(valueChanged(int)),spinHumiUp,SLOT(setValue(int))); connect(this->buttonSet,SIGNAL(clicked()),this,SLOT(saveDev()));}void AlarmDialog::saveDev(){ g_dev->alarm_set.temp_upper = spinTempUp->value(); g_dev->alarm_set.temp_lower = spinTempLow->value(); g_dev->alarm_set.temp = spinHumiUp->value(); save_dev(g_dev);}
0 0
- 基于Qt的车载GPS监控系统(5)温度设置
- 基于Qt的车载GPS监控系统(3)界面设计
- 基于Qt的车载GPS监控系统(6)GPS信息处理
- 基于Qt的车载GPS监控系统(4)系统状态
- 基于Qt的车载GPS监控系统(1)项目介绍
- 基于Qt的车载GPS监控系统(2)需求分析
- 基于Qt的车载GPS监控系统(7)数据记录
- GPS车载定位系统
- GPS / GPRS 车载监控终端的设计与实现
- 基于51单片机-温度监控系统
- 基于GIS/GPS/GSM的小型车辆监控系统
- 基于Android的车载油量检测GPS通信导航系统
- 车载GPS等基于部标通信协议的开发方案
- 基于ARM9的智能车载系统设计
- 基于蓝牙的车载OBD系统
- 基于ISO7637的车载电源系统设计
- 基于Qt的GPS导航系统
- QT: 基于QT和嵌入式的视频监控系统
- 小球运动Android AppContext
- HTML5与HTML4的区别
- LeetCode学习篇二十——Bulls and Cows
- Qt关于隐藏标题栏的小知识
- [Usaco08Open] Roads Around The Farm
- 基于Qt的车载GPS监控系统(5)温度设置
- 【图像处理与医学图像处理】YUV与RGB格式转换速度几种方法对比
- Android之DataBinding初体验(一)
- Android四大组件
- 2016第七届蓝桥杯C/C++ B组省赛题解(自解)第一题
- java经典算法1_斐波那契数列
- 选择排序(二)
- 收藏一些实用的 bash 别名和函数
- JavaScript学习之设计模式->命令模式