首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt编写自定义控件66-光晕时钟

一、前言 在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效果...,整体看起来有点科幻的感觉,本控件没有什么技术难点,如果真要有难点的话也就是如何产生这个光晕效果,使用painter绘制的时候,设置画笔,可以设置brush,brush可以是各种渐变效果,这个就非常强大了...绘制光晕文本采用的QPainterPath的addText来实现。...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.4K40

Qt编写自定义控件50-迷你仪表盘

一、前言 这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是个人觉得最漂亮小巧的一个控件。...初次看到类似的控件是一个音乐视频编辑软件,用来展示左通道右通道音量等,有非常多的类似的迷你仪表盘在整个软件系统,用户可以直接鼠标滑动调节,以最小的占用区域展示最大的信息,漂亮!...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

真正的干货!100多条Qt开发经验,解决你开发各种问题!

绘制平铺背景QPainter::drawTiledPixmap,绘制圆角矩形QPainter::drawRoundedRect(),而不是QPainter::drawRoundRect(); 10....- 方法三:重新实现QWidget的paintEvent函数使用QStylePainter绘制。...我们使用QList、QStringList、QByteArray等链表或者数组的过程,如果只需要取值,而不是赋值,强烈建议使用 at() 取值而不是 [] 操作符,官方书籍《C++ GUI Qt...嵌入式linux上,如果设置了无边框窗体,而该窗体又有文本框之类的,发现没法产生焦点进行输入,此时需要主动激活窗体才行。...Qt5的信号是public的,可以需要的地方直接emit即可,而在Qt4信号是protected的,不能直接使用,需要定义一个public函数来emit。 114.

3.7K11

Qt编写控件属性设计器7-串口采集

串口通信大量的工业控制领域用的最多,就因为稳定两个字,长期霸占了几十年的通信规则,现在还有大量的工业控制设备使用的就是串口通信,Qt5以后封装了串口通信的类,不过据说不大好用,也不大稳定,本人在早期的...Qt5,还没升级到Qt5可能也是考虑到稳定性的原因。...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

2.1K00

Qt编写自定义控件51-可输入仪表盘

要能够支持直接输入首先想到的就是qlineedit控件,原有的仪表盘控件上中间部分,放置一个qlineedit控件用来输入值,采用正则表达式来限制只能输入数字,为了使得qlinedit和自定义绘制的仪表盘完全融为一体...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.3K20

初学Qt(二) 中高级功能列举

实际开发过程,这些功能都是交叉使用的,也没有很明显的区分。这次和大家介绍主要是让初学者对Qt的功能有一个初步的认识,用Qt可以实现一些什么功能。...二维图形:Qt的二维图形是基于QPainter类的。QPainter既可以绘制几何形状,如点、线、圆、弧形、饼状图、多边形、贝塞尔曲线等,也可以绘制像素映射、图像和文字。...QPainter可以“绘图设备”上,例如QWidget、QPixmap、QImage或者QSvgGenerator。...可以使用OPenGL命令来代替QPainter。OpenGL是一个绘制三维图形的标准库,QT里面使用QtOpenGL模块简化了OpenGL代码与Qt应用程序之间的继承。...XML: 可扩展标记语言,是一种常用的数据交换和数据存储的多用途文本文件格式。类似的还有Json文件。刚开始学Qt的都不知道有这个东西。。这两种文件格式还有很多其他用途,在此不多做介绍。

1.4K20

Qt中国象棋一—— Qt 2D 绘图入门

查了一些网上的资料,在此总结一下;比较喜欢的方式是用到什么什么,或者自己想做一个东西,这样学习起来目的性比较强,可以快速进入。 Qt的2D绘图是基于QPainter类的。...QPainter既可以绘制几何图形(点、线、矩形、椭圆、弧形、饼状图、多边形和贝塞尔曲线等)也可以绘制像素映射、图像和文字。...Qt围绕着QGraphicsView、QGraphicsScene、QGraphicsItem类引入了一种全新的“图形视图”体系【了解概念即可,不作详细介绍】。——摘自C++ GUI Qt4编程。...(QPointF(0 ,0), QPointF(width() / 2, height() / 2)); } 重新实现的事件函数,先定义一个QPainter并传入this,之后设置画笔属性,...三、画文本与画矩形 这次是绘图逻辑分离出来,然后paintEvent(QPaintEvent *event)调用。

1.7K10

Qt编写自定义控件54-时钟仪表盘

一、前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码,我们可以Qt的安装目录下找到一个时钟控件的绘制...,甚至还有qml版本,本控件无非就是一个仪表边框加上时钟分钟刻度再加上时分秒指针,打完收工,是在此基础上增加了可以设置各种颜色,然后鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果,弹簧效果的意思是秒钟走动的时候...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.4K20

Qt编写自定义控件49-飞机仪表盘

姿态仪作用原理为一高度旋转的陀螺,不论飞机的姿态如何变化,此陀螺的定轴性空间保持相同,因而能显示出飞机的俯仰及偏左偏右的姿态。...姿态仪是仪表飞行时的重要仪表,能见度差的飞行天气,失去或不相信姿态仪,飞行员极易进入空间迷失。...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

2.4K30

Qt编写自定义控件48-面板窗体控件

在后期的Qt内置控件的研究过程,发现QListWidget也提供了类似的功能,所以后期有部分应用场景直接采用QListWidget来。...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.5K30

Qt编写自定义控件64-垂直时间轴

垂直时间轴控件主要存储的数据包含两个,一个是时间节点,一个是事件描述,为了后期的拓展性,采用结构体来存放这个数据,比如后期还可能增加该事件是否属于重大事件标记,是的话则绘制的时候突出显示比如加大字号加粗...,本控件的主要难点在于自动计算和排列来绘制时间和事件描述,默认采用对等分的机制来处理绘制,还有部分时间轴控件是左侧时间右侧事件描述,这个可以源码基础上自行更改或者增加样式,为了能够展示所有的事件,本控件主体是继承自滚动条区域控件...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.3K20

Qt编写自定义控件62-探探雷达

//绘制中间图片 drawImage(&painter); } void ScanTanTan::drawScan(QPainter *painter) { painter->save...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

79820

Qt开发-确认过眼神

/qt/) 六、Qt技术愿景(来自Qt博客翻译) 1、Qt6简介 7年前,Digia发布了Qt5,到目前为止,世界已变化太多;Qt6.0也将准备2020年底之前首次发布;Qt6将延续QtQt5系列中所做的工作...Quick已经成为推动Qt发展的主要技术,使用这些技术创建用户界面的直观方式使越来越多的用户选择Qt;但是Qt5所用的QML具有一些怪异和局限性,所以Qt6将计划如下主要更改: 引入强类型:弱类型使用户很难对他们的代码库进行较大的更改...引擎可能会使事情复杂化,并且特别是针对低端硬件(例如微控制器),这是一项开销。...应该完全有可能在编译生成它们的大多数 支持将QML编译为高效的C++和本机代码:通过强大的键入和更简单的查找规则,我们可以将QML转换为高效的C++和本机代码,从而显着提高运行时性能 支持隐藏方法细节...:长期以来,“私有”方法和属性一直要求能够隐藏QML组件的数据和功能 更好的工具集成:我们当前用于QML的代码模型通常是不完整的,使得重构和在编译检测错误很难甚至不可能

1.8K20

Qt编写自定义控件65-光晕日历

本控件的技术难点有两个,一个是根据当前月份自动排列星期和日期,这个需要自动计算的,难点二是绘制光晕背景,需要用到painter的图像叠加模式setCompositionMode,设置好图像叠加模式以后...,可以将多个绘制重叠,按照设定的规则组合,比如将光晕背景绘制背后。...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

2.1K10

Qt编写自定义控件60-声音波形图

,启用反锯齿 QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing); //绘制背景...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

1.8K20

【Qt源码笔记】深谈 Qt 绘制

结论 Windows 平台 默认的 Qt 绘制,最终到底层,是直接调用指令集指令的,这有别于我最初的猜测,以为是用 Windows API 。这着实让吃了一惊。...意外收获 整个代码探究的过程,发现了这样一段代码,可以说是非常惊喜了。...当时是研究QWidget的绘制过程,走到了这里。只看代码很难体验它的神奇之处。 pd 在前边是 QWidget 的一个指针,当经过这个 if 语句之后,pd 就变成了一个 QImage 指针。...不过经常用于类的成员方法调用,今天看到它这种用法着实惊艳到了。至于为什么这种用法可行,这也是一个可研究的点,有时间,将其整理出来。...附注 之前说QRasterPaintEngine只是QPaintEngine的派生类。也说 Windows 平台下默认的 Qt 绘制使用指令集的。

1.9K50

用Qt写软件系列三:一个简单的系统工具之界面美化

显然,按钮的绘制需要我们手动干涉。那么,手动绘制的话绘制到哪里去呢?通过什么方法呢?怎么实现默认按钮的功能呢?看下一张图我们似乎神马都明白了: ?      整个一“窗窗”啊!...也就是说,把默认的窗口边框给去掉了,什么标题啊,按钮啊都是自己手动绘制的。怎么绘制的呢?这其实也简单,通过窗口布局管理器啊。这么一规划,整个窗口就可以这样去实现了: ?      ...是这么的,C++代码部分: 1 m_filterexp = new QLineEdit(this); 2 m_filterexp->setPlaceholderText(QStringLiteral...为什么不是从QTableView继承呢?因为我们使用了Qt的MVC框架。View只管绘制Model的数据,至于数据内容、格式设置什么的,都在Model里面设置。...但是链接的时候出错了: ?       fromStdWString无法解析的外部符号!解决方案如下:后面也有一些链接,至于为什么也一直没看懂。 ? 截图及代码 ?

5.1K70

Qt5 新特性

文本简单介绍 Qt5 的特性,其具体内容来自 Qt5 官方 Wiki 的介绍 。 前面说过,Qt5 最大的特性在于模块化。这么多的模块,Qt5 统称为 Qt Essentials。...下面就来看看这些模块究竟是什么吧!注意,有些模块没有在这里列出,例如 SQL 等。请在 这里 查看完整的 Qt5 模块列表。...这些类允许你 JSON 的内存二进制表现形式和标准文本之间进行相互转换。这些类的目的当然就是提供 JSON 格式的支持。...绑定 TCP socket QTcpSocket 现在可以连接前绑定到某一 IP 地址,这使得多穴环境下限制连接到特定接口成为可能。...ListView 和 GridView 的改进: 当元素 view 增加、删除或移动,可以应用特殊的变换。

8.1K80

Qt报表实现方案简介

Qt报表常见方案 所知道的常见的Qt报表实现方案如下: 通过 ActiveX读写word,word文档里实现表格的绘制。...由于项目急也没有去细研究这些第三方的库怎么使用。大家有时间可以看看 通过html实现,这个需要结合QTextDocument,QTextDocument是富文本文档类。...html;这种方案也试了下,效果不好,主要是对html一窍不通,用不好…… QPainter绘制QPainter可以在任意QPaintDevice类上绘制各种图形,既然可以绘制任意图形,那自然可以绘制出来报表了...结束语 第一次使用qt报表打印,刚开始用的qxlsx,但是实现效果不是太好,因为报表里数据行数与列数不固定,而且要打印一张A4纸上,用qxlsx实现起来比较麻烦。...后来就换了html,也不理想,最后就用QPainter直接绘制的,效果还不错,下一篇介绍一下qxlsx的使用,后面整理QPainter绘制报表。

1.1K40

QT5C++ 11:Lambda是你的朋友(翻译文)

使用Qt工作多年之后,实现了飞跃,获得巨大的进步.觉得C++和Qt现在是一起工作的,而不是仅仅帮助您开发更好的C++。...相信信号/槽机制已经c++ 11 lambda函数中找到了它的灵魂伴侣。 这个信号/槽到底是什么?...connect方法调用中使用的SIGNAL和SLOT是连接函数名称的宏,出于我们的目的,先让假设它是魔法。 那么,信号/槽机制有什么问题? 这个没有什么损坏,对吧? 它的工作原理…猜。...除非您习惯JavaScript开发,否则这可能会让您措手不及。 问题2: 为什么必须定义三个方法来基本相同的事情?...Qt5Qt5c++ 11之前,我们可以用QSignalMapper类来这样的事情: class AMainWindow : public QWidget, public Ui::AMainWindow

1.6K10
领券