1.效果图

我做了一个很easy的样例,一个能够显示颜色的QLabel,边上有个button,点击,跳出颜色选取的Dialog,然后选择一个颜色。这个QLabel会变成什么颜色。

2.ColorLabel

我们先把这个自己定义的类写好:

头文件:

#ifndef COLORLABEL_H
#define COLORLABEL_H #include <QLabel>
#include <QPainter> class ColorLabel : public QLabel{
Q_OBJECT
public:
explicit ColorLabel(QWidget *parent=0);
void setColor(QColor c);
private:
QColor color;
QPainter *paint;
void paintEvent(QPaintEvent *);
}; #endif // COLORLABEL_H

实现文件:

#include "colorlabel.h"

ColorLabel::ColorLabel(QWidget *parent):QLabel(parent), color(Qt::white){
} void ColorLabel::paintEvent(QPaintEvent *){
paint = new QPainter;
paint->begin(this);
paint->setBrush(QBrush(color,Qt::SolidPattern));
paint->drawRect(0, 0, this->geometry().width(), this->geometry().height());
paint->end();
} void ColorLabel::setColor(QColor c){
color = c;
}

3.界面文件中加入ColorLabel

拖一个普通的QLabel到界面文件中。然后右击这个控件,选择提升为。

输入类名称,就OK了。

我们能够去Qt依据布局文件生成的头文件中面看下,它自己包括了colorlabel.h,把QLabel都改成了ColorLabel。

Qt写起来真是不错。

4.本博文样例下载:

attachment_id=1170" target="_blank">http://www.waitingfy.com/?

attachment_id=1170

attachment_id=1170" target="_blank">

參考:

Qt 界面使用自己定义控件

Qt 界面使用自己定义控件 &quot;提升为&quot;的更多相关文章

  1. Qt编写数据可视化大屏界面电子看板11-自定义控件

    一.前言 说到自定义控件,我是感觉特别熟悉的几个字,本人亲自原创的自定义控件超过110个,都是来自各个行业的具体应用真实需求,而不是凭空捏造的,当然有几个小控件也有点凑数的嫌疑,在编写整个数据可视化大 ...

  2. WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

    WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 转自:http://www.cnblogs.com/wuhuacong/arch ...

  3. Android自己定义控件(状态提示图表)

    [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重分享成果] 1 背景 前面分析那么多系统源代码了.也该暂停下来歇息一下,趁昨晚闲着看见一个有意思的需求就操 ...

  4. android 自己定义控件

    Android自己定义View实现非常easy 继承View,重写构造函数.onDraw.(onMeasure)等函数. 假设自己定义的View须要有自己定义的属性.须要在values下建立attrs ...

  5. Android 实现形态各异的双向側滑菜单 自己定义控件来袭

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39670935.本文出自:[张鸿洋的博客] 1.概述 关于自己定义控件側滑已经写了 ...

  6. Android自己定义控件系列案例【五】

    案例效果: 案例分析: 在开发银行相关client的时候或者开发在线支付相关client的时候常常要求用户绑定银行卡,当中银行卡号一般须要空格分隔显示.最常见的就是每4位数以空格进行分隔.以方便用户实 ...

  7. 你还在苦逼地findViewById吗?使用ButterKnife从此轻松定义控件

    前段时间笔者在苦逼地撸代码~最后发现有些复杂的界面在写了一屏幕的findviewbyid~~~另一堆setOnXXXListener~有没有方便一点的方法让我们简单点不用每次都定义一次.find一次, ...

  8. Android自己定义控件之轮播图控件

    背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个 ...

  9. 自己定义控件三部曲之动画篇(七)——ObjectAnimator基本使用

    前言: 假如生活欺骗了你, 不要悲伤,不要心急! 忧郁的日子里须要镇静: 相信吧,快乐的日子终将会来临! 心儿永远向往着未来: 如今却常是忧郁. 一切都是瞬息,一切都将会过去: 而那过去了的,就会成为 ...

随机推荐

  1. ubuntu14.04 install flow.

    打开虚拟机,点击菜单上的“文件”,选择新建虚拟机,如下图所示: 注释:这里选择自定义安装,点击下一步. 这里我的虚拟机版本最新是10的,就选最新的,然后点击下一步,如下图: 这里选择要安装的Ubunt ...

  2. DownloadManager 下载管理类

    演示 简介 从Android 2.3开始新增了一个下载管理类,在SDK的文档中我们查找android.app.DownloadManager可以看到.下载管理类可以长期处理多个HTTP下载任务,客户端 ...

  3. c - 将十进制转换为字符串.

    递归实现: /* 输入:十进制整数. 输出:字符串. */ void conv(int decimal) { != ) conv(); putchar( + '); }

  4. Objective-C基础之──多态

    Objective-C语言是面向对象的高级编程语言,因此,它具有面向对象编程所具有的一些特性,即:封装性.继承性和多态性. 今天介绍一下Objective-C中的多态性. 一.什么是多态 多态:不同对 ...

  5. .NET MVC通过反射获取数据修改历史记录,并插入数据表中

    本文属于原创,转载时请标明出处! 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1.核 ...

  6. linux 线程备忘

    三种线程同步机制 •互斥锁 •信号量 •条件变量   pthread_t thread_id; 主要函数 pthread_create(),pthread_exit(),pthread_join(), ...

  7. webstrom的注释

    今天我们小组的新同学有一个BUG调不好,然后我就帮他调一下.在调试的过程中非常累,纠其原因还是他注释写的不完善.我们可以看一下,他是这样写注释的(随便拿一个方法举例),如下图: 乍一看,是不是觉得他的 ...

  8. 关于本地$.get(url,function(data)),异步获取数据

    起初 此处url为本地同目录下的html片段 $.get(url,function(data) { alert(url); $("#gallery").append(data); ...

  9. 布局共享(列如所有activity拥有相同的布局部分,比如actionbar,在BaseActivity中写入布局)

    有时候界面上会用到统一的布局,比如toolbar,你可能会想到在用到的地方都去加上toobar这样对于程序的开发与维护来说都显得特别麻烦,我们可以将他写在父类中. 首先创建一个BaseActivity ...

  10. 解决gradle:download特别慢的问题

    使用AndroidStudio 2.2.2 新增加了一个dependencies,需要下载jar包,此时就会卡在 gradle:download https://….. 这个状态中. 原因就是因为我们 ...