先贴上效果图,注意,没有写逻辑,都是乱动的 这里说一下控件自定义 图中标出的部分都是自定义的控件 这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一篇文章中已经有了代码了 选着项目,鼠标邮件,添加新文件 选择C++类,再选择C++ class 完了点击Choose就可以了 填写自己的类的名称,下面是你要自定义那个控件,一般就把那个控件作为基类,例如QLabel 记得要包好QObject,不然有好多Qt的功能是无法使用的 剩下的就是在类中实现你的…
先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下实现方法 就是简单的绘制 使用QPainter绘制Pixmap就可以 实现代码 void Widget::draw_number_car() { QPainter painter(ui->label_numbre_2); painter.setRenderHint(QPainter::Antiali…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下面的开始,开始的时候有一个带入的效果,这里有一个坑, 网上大部分都是调用下面这个函数 setWindowOpacity(); 但是,你会发现,在你的子窗口中调用这个函数的时候,根本就没有什么调吊用 所以,这里需要使用一个新的东西 这么写 statebar_opacity = new QGraphicsOpacityEffect(); ui->widget_statebar->setGraphicsEffect(statebar_opacity);…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下最中心的指针旋转,这里使用的QPainter的绘制函数 要显示复杂的效果,需要分层 void Widget::draw_number_pointer() { QPainter painter(ui->label_numbre_1); painter.translate(204,204); painter.save(); painter.rotate(pointer_angle); QRect rect(-202,-200,408,408); QRe…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下最上面的部分,有一些仪表图标在闪烁,如果一个一个写,也是可以实现的,不过感觉要累死的节奏 这里我写了一个我自己的Label,完了把把这些QLabel提升为自己的 在我自己的Label中实现了图标的1Hz闪烁 上实现代码 .H文件中内容 #ifndef MQLABEL_H #define MQLABEL_H #include <QObject> #include <QLabel> #include <QTimer> clas…
先贴上效果图,注意,没有写逻辑,都是乱动的 注意看一下,右面的这两个进度条,有瑕疵,就是我没有把图片处理干净,这里犹豫我不知道这个具体的弧度,也没法绘制,就偷懒了 现在上面放一个UI,把两个进度条抠空了如下图 完了在这个图层下面在各放置两个图层,绘制就可以 这样以后把下面的图层填充绘制就好,类似PS中的蒙板 实现代码 /* * 绘制右侧水温条函数 */ void Widget::draw_Rline_1() { QPainter painer(ui->label_rline_1); painer…
先贴上效果图,注意,没有写逻辑,都是乱动的 这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈 有一个大的widget,根据素材,我放了10个label 剩下的就是写一个函数,根据数据的不同,实时控制这10个label的显示, 实现代码 void Widget::show_Lline(int num) { switch (num) { case 0: { ui->label_lline_1->hide(); ui->label_lline_2->hide(); ui->…
先贴上效果图,注意,没有写逻辑,所以这些都是乱动的 这里线主要说一下中间显示速度的显示制作的方式,在这里,自己专门写了一个数字的仪表 考虑的一般的汽车是没有办法把瞬时速度提升到四位数的,所以我这里就放了三位数,完了根据实时数据,更新这三个label的资源文件,在这个新的类中,只有一个函数,那就是设置数字 void set_number(int num = 0); 下面是实现方法,这个方法应该还可以优化,不过懒得优化了,先把功能堆出来. void Number_1::set_number(int…
一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的控件数量. 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量.qwt的控件类环环相扣,高度耦合,想要使用其中一个控件,必须包含所有的代码. 全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到…
1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegExpValidator(regExp,this)); lineEdit->setValidator(new QRegExpValidator(regExp,this));   2:QObject::connect() connect(objectA,SIGNAL(methodA()),objectB,SL…