- 博客(19)
- 收藏
- 关注
原创 鼠标按下/移动/释放事件的两种处理方式
在主函数中,将事件过滤器installEventFilter安装到 QWidget 对象上,这样事件过滤器才能捕获该对象的事件。
2025-02-26 10:27:48
774
原创 QT样式表
1.基本使用方式1.1 为单个控件设置QSS1.2为整个应用程序设置 QSS2.选择器的使用2.1类型选择器(类型选择器用于选择指定类型的所有控件)
2025-02-25 16:32:52
102
1
原创 &、|=、>> 和 <<常见运算符
/ 设置 LED1 和 LED3 后的状态。qDebug()<< "第 " << bitPosition << " 位已打开";qDebug()<< "第 " << bitPosition << " 位未打开";// 清除 LED1 后的状态。// 选择第 2 位。LED1 = 0x01, // 第 0 位。LED2 = 0x02, // 第 1 位。LED3 = 0x04, // 第 2 位。LED4 = 0x08 // 第 3 位。// 设置 LED1 和 LED3。// 清除 LED1。
2025-02-18 17:14:27
220
原创 理解struct结构体、union联合体、enum枚举、typedef和define
通过使用struct关键字,你可以定义一个结构体类型,并在该类型中声明多个成员变量。通过使用typedef关键字,你可以定义一个新的数据类型名称,并在代码中使用该名称代替原有的数据类型。通过使用define关键字,你可以定义一个宏,并在代码中使用它来简化重复的代码或表示常量值。通过使用union关键字,你可以定义一个联合体类型,并在该类型中声明多个成员变量。通过使用enum关键字,你可以定义一个枚举类型,并在该类型中声明多个成员变量。枚举类型中的枚举值的标识符是唯一的,不能与其他宏定义标识符重名。
2025-02-11 11:07:18
268
原创 Qt程序获取执行路径等各种路径方法
那么qAPP->applicationFilePath();输出 C:/Qt/test/test.exe。那么qAPP->applicationDirPath();输出 C:/Qt/test。比如一个程序在C:/Qt/test/test.exe。
2025-02-08 11:46:36
385
原创 push_back和append区别
都是用于向容器末尾添加元素的函数,但它们之间有一些细微的区别。:可以添加多个字符、字符串、字符数组或迭代器范围内的字符。,在连续添加大量元素时都会带来性能损失。1.QVector中的append和push_back。:可以添加一个元素或另一个QVector的所有元素。,尤其是在需要添加多个元素或与其他容器交互时。函数为容器预留足够的空间来提高性能。2.C++中的string类型。则更适合添加单个元素的场景。在使用过程中,通常推荐使用。:只能添加一个元素。:只能添加单个字符。
2025-01-14 19:21:44
373
原创 QByteArray遍历
要遍历QByteArray,可以使用迭代器或者索引来访问其中的每个字节。无论使用哪种方法,QByteArray中的每个字节都是char类型的。
2024-12-19 14:35:32
144
原创 QT整数型转十六进制(大小写)
一般32位二进制整可以转化成8位的16进制。QByteArry转QString类型。QString类型的16进制数转换。
2024-12-02 17:16:17
392
原创 线程的同步
上面的代码真实的揭露了QMutex的无力,因为只要有mutex.lock(),必然要有mutex.unlock(),否则临界区里的资源将再不能被访问;注意,QWaitCondition::wait() 函数使用一个mutex作为它的参数,这样做的意义是:mutex刚开始是lock的,然后当这个线程因为placeNotFull.wait(&mutex);很明显我们想要一个线程(比如线程1)在访问变量number的时候,除非该线程(比如线程1)允许,否则其他线程(比如线程2)不能访问number;
2024-09-27 10:19:13
569
原创 setWindowFlags设置窗口属性
/去掉最大化按钮 但是按钮只是变暗了,并没有消失。//标题栏为空,最大化最小化以及关闭窗口都没有。(如果想去掉某个属性就直接加~就可以了)//该窗口置顶与其他的窗口。
2024-08-15 15:20:23
253
原创 调色板QPalette类-设置背景
上面方式无论设置背景色还是背景图片QPalette::Background与this->backgroundRole()是等价的!前言:窗口背景无非两种,及背景颜色、背景图片。Qt中窗口背景如何设置?2、实现paintEvent,使用QPainter来绘制背景。先调用setAutoFillBackground(true)QWidget::setPalette设置为新修改的面板。调用QWidget::palette()获取当前面板。1、QPalette设置背景。3、使用QSS来设置背景。
2024-08-15 14:56:51
448
原创 qRegisterMetaType类型的使用
2、注册方法:在当前类的顶部包含:#include <QMetaType>,构造函数中加入代码:qRegisterMetaType<QModbusDevice::State>("QModbusDevice::State");1、注册位置:在第一次使用此类链接跨线程的signal/slot之前,一般在当前类的构造函数中进行注册;不跨线程的话,使用自定义的类型使用signal/slot来传递,但如果是跨线程的使用,则没有这么简单。实际运行中也会发现,该信号槽没有起作用。
2024-08-01 17:23:16
336
原创 QT5添加新组件-临时存储库的值
3.依次进入/online/qtsdkrepository/windows_x86/root/qt/ 在最后一层界面复制当前浏览器地址并将其链接放置临时存储库的方框中。原文链接:https://blog.youkuaiyun.com/shanxuezhe/article/details/102776655。1.http://download.qt.io/static/mirrorlist/ 进入镜像网站;2.该网站显示了各国的qt镜像站点,以China-中科大的站为例子,点击HTTP会进入一个网络文件夹;
2024-01-29 16:30:58
787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人