为了给控件添加自定义的方法以及重绘控件,我们需要自定义控件来达到自己希望的结果,网上的自定义控件文章比较少,并且过程比较粗略。

此教程以中文版的QT Creator进行介绍
首先我们创建一个新的项目,名字任意,如果是在已有项目中添加自定义控件,可以忽略此步骤
项目选择QT GUI项目,基类选择widget
 
 
创建完项目后我们来创建自定义的控件,在项目名字上面点击鼠标右键,选择添加新文件
 
 
然后选择c++ class 文件
 
 
在类的创建界面,我们填写要创建的控件的基类,这里我们创建一个自定义的QLabel控件,类型信息选择继承自QWidget,类名可以自定义,填写完毕后我们选择完成就好了
 
 
 
在项目目录中,我们打开界面文件,向界面中拖入一个Label控件。
 
 
 
在右上方的界面,我们在控件名字上单击鼠标右键,然后选择“提升为...”
 
 
在打开的界面中填写我们刚刚新建的类名MyLabel,选择添加。
 
 
然后我们选中添加的项,单击提升,控件就变成了我们自定义的控件,拥有我们自定义的方法,当然了,这些方法需要我们在类中进行人工添加。
 
 
到此,自定义的控件就创建完毕了,我们可以在MyLabel.cpp以及.h中添加控件的槽与信号以及各种方法
 

C++ QT中自定义控件的简单创建的更多相关文章

  1. JS 中对象的简单创建和继承

    对象的简单创建 1.通过对象直接量创建 比如 var obj = {}; 2.通过new 创建 比如 var obj = new Object(); // 相当于var obj = {}; var a ...

  2. 在Qt中如何使用QtDesigner创建的UI文件

    使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤.但是在享受这种便利的同 时,我们也失去了理解更多知识背后的点滴.在IDE中,如果我们要 ...

  3. 在Qt中如何使用QtDesigner创建的UI文件(一) (转)

    使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤.但是在享受这种便利的同时,我们也失去了理解更多知识背后的点滴.在IDE中,如果我们要开 ...

  4. QT中正则表达式的简单说明

    使用方法: QRegExp acNumRE("[0-9]{19}"); lineEdit->setValidator(new QRegExpValidator(acNumRE ...

  5. 编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件

    在使用Qt Designer设计窗体界面时,我们可以使用Widget Box里的窗体控件非常方便的绘制界面,比如拖进去一个按钮,一个文本编辑器等.虽然Qt Designer里的控件可以满足我们大部分的 ...

  6. QT中静态库的生成与使用——创建共享库代码,附例子

    一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...

  7. Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:

    Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法: ------------------------------------------------------------ ...

  8. 在QT中创建文件

    最近在做QT东西时遇到在指定路径下创建文件,发现qt中没有直接用的. 主要通过自定义一个createFile()函数来实现,其中需要用到<QFile> <QDir> <Q ...

  9. 自己用纯C++实现简单的QT中信号与槽机制

    前天在我很久以前的一篇博文 (http://blog.csdn.net/liukang325/article/details/45742675) 中有人回复说看到我的博文很激动,希望我详细介绍一下信号 ...

随机推荐

  1. 主键生成策略sequence

    http://blog.csdn.net/shanhuhau/article/details/24978253 表示:如果不写序列名,会走默认的序列 若写,则seq_表名_属性名

  2. ActiveMQ_1学习

    学习资源 官方文档 http://activemq.apache.org/features.html 下载ActiveMQ选择版本 http://activemq.apache.org/overvie ...

  3. hive、sqoop、MySQL间的数据传递

    hdfs到MySQL csv/txt文件到hdfs MySQL到hdfs  hive与hdfs的映射: drop table if exists emp;create table emp ( id i ...

  4. python_day1_常量

    常量 定义: 不变的量为常量,或在程序中不可改变的量 用法: AGE_OF_BOY  =56 注:在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

  5. ASP.NET MVC下使用AngularJs语言(七):Cookie的使用

    网站开发,使用Cookie对暂存数据进行读写,可以使用C#,javascript,jQuery,也可以使用angularjs等等来读写...... 本篇实现angularjs环境之下对Cookie时行 ...

  6. 2019-4-22 linux学习

    linux 一.linux的目录结构 /          挂载目录:为所有目录的根目录 home  家目录:    用户的根目录 存放普通用户的文件 例如:创建一个jack用户,就会产生一个Jack ...

  7. 记web模拟手机环境已经微信开发者工具中可正常运行,实体机运行报错问题

    问题描述: 有个手机微信OA的项目 用户信息采用cookie方式保存.发布后使用chorme浏览器进行模拟访问测试发现一切运行顺畅,使用微信开发者工具进行测试也一切正常. 采用实体机进行测试时,用微信 ...

  8. HYSBZ2565最长双回文串 Manacher

    顺序和逆序读起来完全一样的串叫做回文串.比如 acbca 是回文串,而 abc 不是( abc 的顺序为 “abc” ,逆序为 “cba” ,不相同). 输入长度为 n 的串 S ,求 S 的最长双回 ...

  9. Burpsuite常用模块详解以及渗透测试上的运用

    0x00前言 哪有什么前言,大家好,我是浅安.QQ:320229344... 0x01 JDK的安装,以及Burpsuite的成功开启. burpsuite基于JAVA环境才能正常运行的.所以要先安装 ...

  10. koa-static与react-create-app搭配的路径

    概述 前端路由与后端路由的结合一直是一个难题.koa-static这个中间件能够把静态资源"搬到"后端路由上面去,react-create-app在不解构的情况下只会把资源打包到b ...