首页| 论坛| 消息

标题:苦心钻研十几载/Qt自定义控件开发先行者/国内自定义控件开发第X人/原创207个自定义控件/集成到qtc开发环境
作者:liudianwu
日期:2025-07-08 11:32
内容:

## 一、前言说明
从十几年前做Qt自定义控件开发至今,陆陆续续开发过两百多个自定义控件,一直持续更新到现在的Qt6.10版本,全部正常编译使用,从最初的Qt4.7.0支持到现在,没有坚强的毅力是支撑不到今天的。很多人问写自定义控件难不难,其实一点都不难,掌握了qpainter的技巧,写起来行云流水,就跟吃饭一样简单。那么问题来了,如何学会qpainter,这个必须一点点慢慢来,核心就是把qpainter头文件中的draw开头的一堆函数全部自己试一遍,然后多练习多参考,比如参考本人写的自定义控件大全207个控件如何绘制的,其实只需要参考十几年就好了,大差不差大致雷同。

控件写出来以后,其实很多人希望是集成到qtc中拖曳开发使用,这个有一定的难度,无数人就卡死在这里,问题就出在,Qt有几百个版本,全部不兼容,必须用你的qtc的关于对话框中显示的qt版本位数编译器,完全一致才行,小版本兼容,比如5.9.0和5.9.1是兼容的,大版本都不兼容,比如5.9和5.10都不兼容,而qtc有几十个版本至少,甚至你安装的qtc往往和你安装的qt版本不一致,windows上qtc还都是msvc编译的,如果你用的mingw编译器,那肯定放不进去的。

其实集成到qtc中只是为了方便拖曳控件到界面中,真正编译的时候,还是需要手动指定链接库路径的,拖曳只是开发阶段可用,编译需要链接到正确的库才能正常编译和运行,运行期间肯定要带上对应的控件的动态库,所以这里又存在版本问题,放到qtc中的是一个版本,链接和运行的又是另外一个版本。而且往往还都是不同的版本,库文件千万不能混淆,不然无法运行。如果没办法集成到qtc中也没关系,拖一个qwidget到界面上,鼠标右键提升为对应控件即可,然后编译链接也能正常运行,只是没办法拖曳简单。

Qt自定义控件是一套纯QtWidget代码编写的自定义控件大全组件,简称quc,是一套和qwt类似的自定义控件插件。不仅控件数量远超qwt以及其他第三方的控件组件,每个控件都有独立的使用demo并且注释详细,非常适合初学者和进阶者。

## 二、效果图


## 三、相关代码
```cpp
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
greaterThan(QT_MAJOR_VERSION, 5): QT += core5compat

TARGET= sdkdemo
TEMPLATE= app
SOURCES += main.cpp
#指定可执行文件目录 放到这里省了拷贝动态库动作 专为小白懒人考虑
DESTDIR ..


#1 [tanyue.esec 07-09 08:24]
奈斯奈斯,我辈学习的楷模

回复 发表
主题 版块