Qt
文章平均质量分 70
BUG_C++
BUG程序员
展开
-
Qt 支持HEIC/HEIF格式图片
Qt heic heif原创 2022-06-19 11:49:09 · 371 阅读 · 0 评论 -
C++ 调用Qml方法
C++ 调用Qml方法探索原创 2022-07-16 22:24:53 · 2123 阅读 · 0 评论 -
Qml调用C++方法之自定义属性
Qml调用C++类之自定义属性原创 2022-07-09 17:48:22 · 3123 阅读 · 0 评论 -
QML和QWidget混合开发(初探)
Qml和QWidget混合开发原创 2022-07-03 01:23:51 · 6072 阅读 · 0 评论 -
Qt自定义窗口圆角
Qt 自定义窗口圆角原创 2022-06-10 23:08:19 · 3381 阅读 · 0 评论 -
Qt信号槽进阶及误区
lambda写法Qt 中信号槽lambda表达式优缺点:好处代码更加紧凑,不用特意费力去定义一个常规的函数;坏处一旦写的过长,臃肿,代码可读性会变差;C++ 中lambda表达式构成[capture](parameters) mutable ->return-type{ statement}[函数捕获列表](操作符重载函数参数)mutable ->返回值{函数体}[capture]:函数捕获列表。始终出现在Lambda函数的开始处。[]是Lambda引出符。原创 2022-01-23 22:54:04 · 609 阅读 · 0 评论 -
Qt信号槽的两种写法
Qt信号槽connect是什么?connect()函数的形式connect(sender, signal, receiver, slot,type);参数示意sender:发出信号的对象signal:发送对象发出的信号receiver:要接收信号的对象slot:接收对象收到信号后调用的函数type:连接方式,默认自动auto,可设置成同步Driect或异步Quence等方式,可参考品前文传统Qt4写法(极度不推荐) connect(btn_close, SIGNAL(cli原创 2022-01-21 01:26:54 · 1397 阅读 · 0 评论 -
Qt消息循环与模态对话框和线程关系整理
问题之前在分析Qt事件循环源码时,相比很多人都会有疑问,当主线程(GUI 线程)在接受到某些命令时会弹出一个对话框,这个对话框会阻塞主界面的响应,这时候是不是有个子线程在处理弹出对话框的消息(毕竟这和多线程处理很像)?概念普及什么是模态对话框?对于用户分成模态对话框和非模态对话框(如下解释源于百度百科)模态对话框:又叫做模式对话框,是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。非模态对话框:又叫做无模式对话框,当用户打原创 2022-01-16 23:30:54 · 1762 阅读 · 0 评论 -
Qt事件(消息)循环的源码分析之创建
Qt程序的特点Qt 是事件驱动的,尤其是你用Qt做界面开发时,你必须知道Qt的事件循环是如何开展的从Win32到Qt程序入口WinMain创建窗口进入事件(消息)循环int main(int argc, char *argv[])//入口main{ //Qt的初始化 QApplication a(argc, argv); //创建窗口 TestMoc w; w.show(); //启动消息循环 return a.exec();}原创 2022-01-15 23:34:16 · 653 阅读 · 0 评论 -
Qt信号槽连接方式源码解读
连接方式原创 2022-01-09 00:23:33 · 1017 阅读 · 3 评论 -
Qt元编译器系统(一)
Qt的元对象编译器(MOC)首先必须知道Qt的信号槽系统是通过元对象编译器moc(Meta-Object Compiler)实现的;听着很懵,但仔细回想一下,再开发工程中是不是都能看到一堆moc_XXXX.cpp的文件,这其实就是Qt元编译器产生的转义中间文件;在Qt工程中,如果类声明中包含Q_OBJECT宏定义,则会生成另外一个moc_XXXX.cpp的C++文件;emit跳转到emit的定义,会发现本身就是一个空的宏,也就说,发送信号本质上是执行了一个函数。Q_OBJECT跳转到Q_原创 2022-01-02 22:14:06 · 1189 阅读 · 1 评论 -
Qt信号槽的五种连接方式
关于信号槽信号槽是Qt框架的精髓,尤其是用写过win32 API的开发过的人,一下子发现能把程序不同模块快速解耦,当然是有一定的性能损失和额外的开销,但99%的情况桌面客户端目前可以不care这点事Qt信号槽简介信号当某个QObject对象的“状态”发生了改变或需要“通知”其他的对象,这时通过emit的方式把信号和绑定的参数发送出去。槽用于接收信号的成员函数,槽函数知道是谁触发了他,但并不知道有多少个信号与之绑定链接方式enum ConnectionType { AutoConnectio原创 2022-01-01 23:52:02 · 3720 阅读 · 0 评论 -
QT 消息循环(整体)
什么是消息循环最简单的理解就是系统、程序创建的一个队列,不断的由“各种输入”压到队尾,然后不断的从队首取当前内所有消息,并逐一执行。消息的类型系统:鼠标点击移动、键盘点击、输入;程序:GUI绘制、创建、销毁;QT的消息循环与系统原生消息的区别(以windows为例)Qt 接管了操作系统的原生的GUI消息,并转义成Qt的内部消息,分发给当前应用程序的QObjectQt 支持对消息进行自定义过滤和分发bool eventFilter(QObject *obj, QEvent *event)原创 2021-12-30 00:55:22 · 1090 阅读 · 0 评论 -
QT支持https及编译OpenSSL
文章目录搞懂Qt OpenSSL的具体原因一、如何找到和自己Qt版本真正合适的库并编译二、编译自己真正所需的OpenSSL库1.下载OpenSSL(以我所需要的1.0.2o为例)2.配置编译环境及工具ActivePerl2.1 由于OpenSSLwindows下需要用ActivePerl进行编译,我们首先下载,2.2 配置Perl环境变量3.编译OpenSSL库3.1启动VS2017的命令行终端3.2切换到要编译的OpenSSL 目录3.3 配置要Perl编译的位数3.3 编译总结搞懂Qt Ope...原创 2020-12-26 02:14:24 · 8079 阅读 · 6 评论