![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
qt
文章平均质量分 84
~怎么回事啊~
这个作者很懒,什么都没留下…
展开
-
Qt 中如何将图片转化为yuv420p
默认是 QImage::Format_ARGB32_Premultiplied格式,此时一个像素用四个字节存储,按照argb argb的格式,不同的格式转换为yuv420p的时候,由于rgb的数据排列方式不同,需要采用不同的计算方式,因此建议转化为QImage::Format_RGB888;建议通过将格式转换为mage.convertToFormat(QImage::Format_RGB888),这样rgb的存储每个八字节,按照rgb rgb 的格式存储;原创 2024-01-04 16:23:17 · 867 阅读 · 0 评论 -
qt-渲染原理
QStyleQStyle决定了各种控件在不同OS平台(win10,apple,vista,xp)等基本的样式;它的继承类实现了相应的接口使得在不同操作平台上观感,细节大不相同;也就是说,QStyle的派生类能够管理到控件的整个绘制过程Qt 包含一组 QStyle 子类,它们模拟 Qt 支持的不同平台的样式(QWindowsStyle、QMacStyle 等)。 默认情况下,这些样式内置在 Qt GUI 模块中。 样式也可以作为插件使用。Qt 的内置小部件使用 QSt......原创 2022-04-18 14:50:09 · 3341 阅读 · 0 评论 -
Qt-插件机制
1 qt插件的使用参考:【QT】QT中插件化开发及其简单使用_bailang_zhizun的博客-CSDN博客_qt插件开发代码:qt插件的简单使用,插件创建,和使用-Flutter文档类资源-CSDN下载2 剖析QT插件程序开发流程编写扩展 Qt 应用程序的插件,步骤如下:(1)、声明一个继承自 QObject 和插件想要提供的接口的插件类(2)、使用 Q_INTERFACES() 宏来告诉 Qt 元对象系统有关接口的情况(3)、使用 Q_PLUGIN_M..原创 2022-05-23 10:11:32 · 3689 阅读 · 1 评论 -
Qt-内存管理机制
父子对象 C++中派生类构造顺序:先执行基类的构造函数,再执行派生类的构造函数;析构时,先执行派生类的析构函数,再执行基类的析构函数。 这一部分的内容与qt 对象管理_~怎么回事啊~的博客-CSDN博客构造过程 首先看一下一个继承QWidget的派生类qttest的构造过程发生了什么: 首先调用基类QWidget的构造函数:在QWidget的构造函数中,会调用QWidget的基类QObject的构造函数,QObject(*...原创 2022-05-03 19:04:11 · 1410 阅读 · 0 评论 -
qt-事件循环系统
Qt中,如果创建的console程序,使用的是QCoreApplication对象;如果创建的是GUI程序,使用的是QApplication对象,而QApplication 继承自 QGUIApplication ,最终继承QCoreApplication,GUI是对console的封装。QEventDispatcherWin32(win32事件调度器),主要功能是执行程序运行期间所涉及到的过程事件以及创建windows的隐藏窗口。C:\Qt\5.9.8\Src\qt...原创 2022-05-02 11:01:30 · 2602 阅读 · 2 评论 -
qt 对象管理
组合设计模式设计模式:可复用面向对象软件及基础:3-3 结构型模式:组合模式(composite)_~怎么回事啊~的博客-CSDN博客QObject(组合模式):父对象&& 子对象qt d指针和对象树_~怎么回事啊~的博客-CSDN博客1 特性不同层次解释 从数据层看:组合模式/整体-部分模式 QObject组合模式 从UI层看也可以称为:句柄-实体模式1 QObject是唯一的句柄基类,d_ptr指向实体(数据)类2...原创 2022-04-30 21:58:28 · 497 阅读 · 0 评论 -
Qt: 信号与槽机制
一、信号和槽机制是什么? 1 Qt信号槽机制:是Qt的核心机制,它是Qt定义的一种对象间的通讯机制,且独立于标准C/C++语言。 2 信号(signals):当某个类对象发生内部改变时,发射“信号”随后与关联的“槽函数”被立即执行,“信号槽机制”完全独立于任何GUI事件循环机制 (1)信号可以链接普通函数 (2)如果存在一个信号对应多个槽函数,则槽函数调用顺序与connect顺序相同 3 槽...原创 2022-04-30 15:29:07 · 3801 阅读 · 0 评论 -
openBoard开源白板项目
开源白板:OpenBoard, the best interactive whiteboard for schools and universities原创 2022-04-27 22:25:17 · 1339 阅读 · 1 评论 -
otter brower 多标签浏览器分析
源码地址:https://github.com/OtterBrowser/otter-browserwin上编译:本人使用的是qt5.15.2 安装时带上webengine它用qt实现了多tab窗口的拖动QT拖动原理拖放的基本原理 拖放操作包括两个动作:拖动(drag)和放下(drop 或称为放置)。当被拖动时拖动的数据会 被存储为 MIME 类型的对象,MIME 类型使用 QMimeData 类来描述。MIME 类型通常由剪贴板和拖放系统使用,以识别不同类型的数据。 ..原创 2021-12-06 16:08:06 · 639 阅读 · 0 评论 -
QPixmap 将图片转换成圆形,出现锯齿,使用dpi优化
网上一般的将static QPixmap PixmapToRound(const QPixmap& src, int diameter /*直径*/) { if (src.isNull()) { return QPixmap(); } QSize size(diameter, diameter); QBitmap mask(size); QPainter painter(&mask); painter.setRen..原创 2021-12-09 14:56:12 · 1335 阅读 · 0 评论 -
Qt-QThread
qt帮助:QThread 类提供了一种与平台无关的方法来管理线程。QThread 对象管理程序中的一个控制线程。 QThreads 在 run() 中开始执行。 默认情况下,run() 通过调用 exec() 启动事件循环,并在线程内运行 Qt 事件循环。您可以通过使用 QObject::moveToThread() 将工作对象移动到线程来使用它们。实例1:暂时不考虑多线程,先思考这样一个问题:想想我们平时会把耗时操作代码放在哪...原创 2021-08-25 17:47:39 · 1928 阅读 · 1 评论 -
QProcess
简单使用: QProcess process = new QProcess(this); connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),this, SLOT(finished(int, QProcess::ExitStatus))); QStringList list; QString program = "C:\\Windows\\notepad.exe"; process->start(prog原创 2021-08-25 14:05:01 · 882 阅读 · 0 评论 -
qt d指针和对象树
PIMPLhttps://blog.csdn.net/chengfenglee/article/details/112386027?spm=1001.2014.3001.5502Qt中D-Pointer的实现在Object 的构造函数中:QObject::QObject(QObject *parent) : d_ptr(new QObjectPrivate){ Q_D(QObject); d_ptr->q_ptr = this; d->th..原创 2021-08-24 11:41:17 · 564 阅读 · 0 评论 -
QT5.9.8 update()源码剖析
在QT中,所有的GUI最终都继承自QWidget,因此所的调用update()都是基类QWidget的update()。 在QWidget中,路径:Qt\Qt5.9.8\5.9.8\Src\qtbase\src\widgets\kernel\qwidget.hpublic Q_SLOTS: void update(); void repaint();public: inline void update(int x, int y, int w...原创 2021-08-17 10:24:48 · 3028 阅读 · 4 评论 -
qt 元对象 和moc原理
一. MOC1.1 简介 元对象编译器moc(Meta-Object Compiler)是Qt对C++的扩展。可以先把它看作一个代码生成器。以test类为例,构建项目时,moc读取C++头文件。如果在test.h中找到Q_OBJECT宏,它将生成一个moc_test.cpp,其中包含test类的元对象(metaObject)代码。这个新的文件和test.cpp一起参与编译,最终被链接到二进制代码中去。 Qt 将源代码交给标准 C++编译器,如gcc之前,需要事先将...原创 2021-08-17 10:20:14 · 4231 阅读 · 2 评论