基于Qt的汽车仪表模拟
考虑到控制台上面的模块基本是无法确定了,所以在控制的布局方面采用QWidget最底层的框架,上面为QTabWidget。这样的做的好处就是每一个tab可以是一个控件,可以更具实际控件的多少来自行决定。每一个控件都可以有自己独特的布局。
从百度和自己用车的感受来开,吉利博瑞整个氛围的营造还是以黑色为底色,使用“吉利橘”为主色调,之所以称之为“吉利橘”是因为我不知道这个颜色到底该怎么称呼,我只能从百度找到一个看着比较符合时间的图片用PS的吸管工具吧这个颜色吸出来。这个想法比较可行,但是实际操作起来起来试试有太大的差距,我还是决定自己用手机去车里拍几张,完了在做吸出来试试看。
初步计划,考虑到自己能力比较差,暂时就不错可缩放功能,按照一个固定尺寸来做,加上控制台设计设备较多,但是尺寸小了可能不够用,所以将控制台程序大小控制为1366*768。主背景接近黑色的暗色背景。
通过拍照,那我就吧“吉利橘”的RGB定义为“255,109,0”即#ff6d00
彩色渐变签名效果如下
建立定时器和关联信号槽,如下
timer_Change_Jianwei_Color = new QTimer; connect(timer_Change_Jianwei_Color,&QTimer::timeout,this,&ControlPanel::slot_Change_QLabel_Jianwei_Color); timer_Change_Jianwei_Color->start(1000);
改变颜色槽函数实现如下
qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); int r = qrand()%255; int g = qrand()%255; int b = qrand()%255; QString qss = "background-color: rgb("+QString::number(r,10)+","+QString::number(g,10)+","+QString::number(b,10)+");"; ui->label_light_Jianwei->setStyleSheet(qss);
当然,timer用完的时候别忘了释放,虽然这个影响没有多大,不过还有留点好习惯
if(timer_Change_Jianwei_Color) { timer_Change_Jianwei_Color->stop(); delete timer_Change_Jianwei_Color; timer_Change_Jianwei_Color = NULL; }