
QT
文章平均质量分 54
zero_hz
此账号仅用于记录学习,不对的地方请多指教
展开
-
QT子窗口QSS背景设置失效解决办法
子窗口用QSS设置好背景后,需要在.cpp的构造函数中添加。原创 2025-03-13 11:10:43 · 112 阅读 · 0 评论 -
关于C++中的extern关键字
1、变量声明①定义:声明是告诉编译器某个变量的名字和类型,但并不为其分配内存。// 声明变量x,但未定义③用途:声明通常用于告诉编译器该变量将在其他地方定义,或在多个文件之间共享。2、变量定义①定义:定义不仅声明一个变量,还分配了内存空间给它,并初始化(可选)。int x;// 定义变量x,并分配内存③注意:每个变量只能被定义一次,但可以被声明多次。// 声明aint b = 5;// 定义breturn 0;int a = 10;// 定义并初始化a。原创 2024-07-30 17:22:52 · 1049 阅读 · 0 评论 -
QT多线程下,信号槽分别在什么线程中执行,如何控制?
(Qt::QueuedConnection):信号在信号发出者所在线程中执行,槽函数在信号接收者所在线程中执行。(Qt::AutoConnection):多线程时队列连接函数,单线程时为直接连接。(Qt::DirectConnection):信号槽在信号发出者所在的线程中执行。connect有几种连接方式,直接连接、队列连接和 自动连接。输出结果:(以下依次为按钮从左到右的结果)原创 2024-07-12 16:36:37 · 482 阅读 · 0 评论 -
cwiseMax、cwiseMin函数
使用cwiseMin和cwiseMax函数可以将限幅操作向量化,避免了循环中对每个元素进行逐一比较和赋值的操作,因此速度可能会更快。具体的速度优势取决于矩阵的大小和计算机硬件的性能,可以通过实验来测试不同方法的运行时间,以确定哪种方法更快。另外,使用向量化操作还可以提高代码的可读性和简洁性,避免了循环中的大量重复代码,使代码更加清晰易懂。它的作用类似于std::max函数,但是可以同时处理多个元素,且支持矩阵和向量。是Eigen库中的一个函数,用于求两个矩阵或向量的逐元素。一、cwiseMax含义。原创 2024-05-28 16:53:57 · 1022 阅读 · 0 评论 -
QT修改QCheckBox控件选项框的颜色
请注意,这种方法可能会影响到QCheckBox的所有状态下的边框颜色,如果你想要针对不同的状态设置不同的边框颜色,你可能需要为每种状态定义不同的伪元素,例如QCheckBox::indicator:checked、QCheckBox::indicator:disabled等。QCheckBox::indicator是一个伪元素,表示QCheckBox的选中标记(也就是勾选框)。border属性用于设置边框的样式,1px solid #0000FF表示边框宽度为1像素,样式为实线,颜色为蓝色。原创 2024-05-27 10:20:48 · 1720 阅读 · 0 评论 -
QWidget和QML的技术本质和使用上,有什么区别?
在实际开发中,开发人员可以根据项目的需求和团队的技术栈选择使用 QWidget 或 QML。一般来说,对于需要更高性能和复杂逻辑的应用,以及需要深度定制和优化的情况下,QWidget 更为适用;它提供了丰富的 API 和强大的功能,可以实现各种复杂的用户界面。但是,QWidget 编程通常需要更多的代码量,并且对于界面设计和布局来说,需要更多的手动管理。通过继承 QWidget 类或其子类,开发人员可以直接使用 C++ 代码来创建和管理窗口、按钮、文本框等 UI 元素,以及处理用户输入和事件。原创 2024-04-19 17:48:55 · 1879 阅读 · 1 评论 -
Qt多线程
如果线程在互斥锁已锁定的情况下尝试获取互斥锁,则该线程将处于休眠状态,直到当前持有互斥锁的线程将其解锁。需要注意的是,在这个例子中,我们重载了Worker类,并添加了一个doWork槽函数,该函数用于输出当前线程的ID。这表明,doWork函数确实是在新线程中执行的。2、在对 QThread 进行子类化时,请记住,构造函数在旧线程中执行,而 run() 在新线程中执行。通过调用start()方法来启动线程,该方法会调用run()函数(可以看到QThread中run()为虚函数, 需要我们来重载)。原创 2024-03-13 16:22:44 · 918 阅读 · 0 评论 -
VS2019+QT5.14.2安装及配置编译环境
1、打开qt creator的工具–选项–kits–编译器,选择Manual即手动添加,点击添加–MSVC–C++,按如下配置分别添加32-bit和64-bit。到此整个安装和配置就完成了,可以在Visual Studio创建工程进行Qt软件程序开发。点击之后会出现下图所示界面,然后在Path处添加上述步骤一安装的QT MSVC编译器路径。三、在QT Creator中配置msvc2017编译器。1、工具 -> 扩展与更新 -> 联机 -> 搜索qt。四、在VS2019中配置qt工具。原创 2024-03-25 13:28:21 · 3517 阅读 · 0 评论 -
QT多线程同步和异步控制
(信号与槽函数关系类似于函数调用。同步运行) 当信号发出后。对应的槽函数将马上被调用。emit语句后的代码将在全部槽函数运行完成后被运行。原创 2024-03-22 15:44:10 · 1123 阅读 · 1 评论 -
qt更新组件用的“临时档案库”网址
http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/原创 2024-03-22 10:15:11 · 921 阅读 · 1 评论 -
qt中的套接字
套接字(Socket)是计算机网络中进行网络通信的编程接口,用于在应用程序之间进行数据传输。套接字提供了一种抽象层,使得应用程序能够通过网络进行通信,无论是在同一台计算机上还是在不同的计算机之间。原创 2024-03-21 16:49:32 · 580 阅读 · 1 评论 -
QT中计算某块代码执行时间
qDebug()原创 2024-03-21 14:36:16 · 390 阅读 · 1 评论 -
改善继承QThread重写run方法时,要先结束run方法中的死循环才能结束线程的问题。
在重写run方法中添加while判断,while里边的判断条件写为isInterruptionRequested(),然后在需要结束循环并退出线程时调用requestInterruption()函数来中断循环。在重写run方法中添加while判断,while里边加一个标志位,通过改变标志位的true或false来循环并退出线程。改善继承QThread重写run方法时,要先结束run方法中的死循环才能结束线程的问题。原创 2024-03-15 11:41:44 · 339 阅读 · 1 评论 -
QThreadPool线程池作用、原理和使用
该函数就是尝试调用obj的member函数,可以是信号、槽或者Q_INVOKABLE声明的函数(能够被Qt元对象系统唤起),如果调用成功,返回true,失败返回false,具体使用方法就不在这里介绍。//函数定义QMetaObject::invokeMethod可以是异步调用,也可以是同步调用。这取决与它的连接方式Qt::ConnectionType type。如果type为Qt::DirectConnection,则为同步调用,若为Qt::QueuedConnection,则为异步调用。原创 2024-03-14 15:14:36 · 3056 阅读 · 1 评论