如果遇到这样的问题,并且控件继承与QWidget,那么这个方案也许能解决问题。 void SubWidget::paintEvent(QPaintEvent* event) { QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } 只需要重写控件的paintEvent()函数即可。 参照QtHelp :https://doc…

2022年2月28日 0条评论 509点热度 0人点赞 大脸猫 阅读全文

QPropertyAnimaiton依托与QT的Property系统,使用时只需要提供一个QWidget对象,然后设置好控制动画的Property名称,再为这个属性设置好变化范围,最后调整动画的播放时间,调用start()函数就可以实现动画。 void setPropertyName(const QByteArray &propertyName) 这个函数的功能是为动画设置一个property参数,这个property需要执行表演的Widget对象包含,这里只需要传入property的名称即可。 这里是原生…

2022年2月25日 0条评论 722点热度 2人点赞 大脸猫 阅读全文

这里使用了二维矩阵线程插值的方法和通过操作像素颜色来对QImage进行快速渲染方法,在之前的博文中有详细介绍。 二维矩阵线性插值方法:http://cppdebug.com/archives/155 QImage快速渲染方法:http://cppdebug.com/archives/186 通常需要使用Contour图展示的数据,都是三维数据。在绘制的过程中,一般用横纵坐标轴表示其中的一个数据,然后另一个数据使用颜色表示。 对于这样的需求,使用之前写到过的image数据渲染方法,非常简单就可以实现。 稍微改一改之前…

2021年7月15日 2条评论 1546点热度 4人点赞 大脸猫 阅读全文

在对QImage进行渲染的时候,有两种方式。一种是使用qpainter,把QImage作为一个画布构造一个QPainter,这样就可以使用QPainter的绘图函数在QImage对象上进行一些操作。还有一种方法是直接对QImage的数据及进行操作。 首先要了解QImage储存图像数据的方式,Qimage::Format给出了很多中数据存储的方式, 官方文档https://doc.qt.io/qt-5/qimage.html#Format-enum 这里以Format_ARGB32为例,我们知道图片都是以一个一个像素…

2021年7月15日 0条评论 2169点热度 13人点赞 大脸猫 阅读全文

Qt提供了一个非常方便的多语言国际化方案,开发者使用它可以用非常简单的方式让程序支持多种语言。 这里记录一个qt多语言的最简单的示例,开发工具使用的使qtcreator。 要实现多语言得支持,首先得在代码中完成这几个步骤: #include<QTranslator> //实例化一个翻译模块的对象,并载入翻译文件 QTranslator translator; translator.load("translator.qm"); //使用QApplictioin的对象,为程序安装翻译模块 app.insta…

2021年7月15日 0条评论 1944点热度 10人点赞 大脸猫 阅读全文

众所周知qt中,要将一歌窗口嵌入另一个窗口只需要调用setParent()函数就可以了。但是setparent()参数必须是qwidget对象的指针,很遗憾的是桌面并不是一个qwidget对象,所以并不能这么做。 在查阅了一些资料之后,发现实现类似的效果都是通过winapi实现的,所以我记录下来的也只是在windows平台上的实现方法。 在winapi中提供了一个SetParent()的函数,功能与qt的setParent函数如出一辙,它的原型是这样的。 HWND SetParent(HWND hWndChild,…

2020年11月8日 0条评论 3459点热度 42人点赞 大脸猫 阅读全文
12