
QT
文章平均质量分 55
马斯尔果
这个作者很懒,什么都没留下…
展开
-
QML 中调用QFileDialog::getOpenFileName()选取文件后, MouseArea焦点未未释放
当MouseArea控件被按下时,启动定时器,通过延迟10ms的方式让QML与C++之间的阻塞解除,然后再调用异步函数打开文件选择对话框。在QML中调用C++的QFileDialog::getOpenFileName()函数打开文件选择对话框时,如果这个对话框弹出时,有一个MouseArea控件处于焦点状态,但是在文件选择对话框中进行文件选择操作之后,这个MouseArea控件的焦点没有被释放。这是因为在弹出文件选择对话框时,QML与C++之间出现了阻塞,导致无法处理MouseArea控件的焦点释放。原创 2023-05-06 15:22:33 · 503 阅读 · 1 评论 -
QT 获取本地磁盘空间大小
QT获取磁盘空间大小、获取磁盘信息原创 2023-02-09 18:58:50 · 2579 阅读 · 0 评论 -
Qt程序在UOS系统构建deb包,实现界面安装
本文介绍Qt 程序在uos系统上打包安装问题。实现Qt程序在uos平台界面安装原创 2023-01-17 16:06:34 · 3373 阅读 · 1 评论 -
QML选择按钮封装
QML 选择控件的封装原创 2022-11-12 17:19:02 · 282 阅读 · 0 评论 -
QT头文件加入Q_OBJECT的作用是什么?
在Qt中,QObject是所有Qt类的基类,是Qt对象模型的核心,只有继承了QObject类的类,才具有信号槽的能力。Qt 程序在交由标准编译器编译之前,会使用 moc 分析 C++ 源文件,假设它发现某个头文件中包括了 Q_OBJECT这个宏(注意, moc 只处理头文件中标记了Q_OBJECT的类声明,不会处理 cpp 文件中的类似声明),则会生成另外一个 C++ 源文件,这个源文件里包括了 Q_OBJECT 宏的实现代码,并且文件名称将会是原文件名称前面加上 moc_。原创 2022-11-05 17:33:08 · 1049 阅读 · 0 评论 -
QHash 与 QMap的区别
QMap、QHash的使用,以及两者之间的区别原创 2022-11-05 15:54:12 · 2001 阅读 · 0 评论 -
QT编码转换
UTF-8 转GB2312 部分乱码最近在做一个国外的项目,其中有一个需求是,管理系统给Linux 终端推送通知的功能,管理系统给终端发送通知的编码是UTF-8的,QT界面上展示通知的同样要求UTF-8 ,所有这没有一点毛病啊,但是突然测试给我提了一个bug,在打印出来的通知中是乱码的。我想着,这个问题不大,因为打印机需要的是GB2312编码的,我转一下不就完事了 QTextCodec* utf8Codec= QTextCodec::codecForName("utf-8"); QTextCode原创 2020-09-26 14:23:24 · 752 阅读 · 0 评论 -
Qt 自定义事件
QT 自定义事件原创 2022-09-27 22:19:58 · 484 阅读 · 0 评论 -
QEventLoop事件循环的使用
本文介绍QEventLoop的使用场景,已经基本的代码实现原创 2022-06-09 21:04:45 · 2656 阅读 · 0 评论 -
QT 多线程的实现方法以及GUI线程与其他线程间的通信
GUI线程Qt应用程序exec后就会生成一个线程,这个线程就是主线程,在GUI程序中也称为GUI线程。主线程也是唯一允许创建QApplication或QCoreAppliation对象,比并且可以对创建的对象调用exec()的线程,从而进入事件循环。在只有主线程即单线程的情况中,每一个事件的发生都需要进入事件循环进行等待,如有在某一步计算量比较大,则会一直占用CPU不放,导致其它操作无法完成,界面陷入冻结状态所以,对于计算量大的操作,需要放到一个单独的线程进行计算,然后通过信号槽的方式和GUI线程进行原创 2021-07-24 15:30:50 · 6896 阅读 · 0 评论 -
QT TableView自定义Model
头文件#ifndef CTICKERDATAMODEL_H#define CTICKERDATAMODEL_H#include <QAbstractTableModel>#include <QObject>#include <QColor>#include <QList>#include <QStringList>#include "CommonInterface/baseconfig.h"#include "dataCente原创 2021-07-10 16:13:36 · 1252 阅读 · 0 评论 -
Qt弹出式窗口、Qt::popup闪退问题、设置窗口无焦点问题
需求根据业务需求,在输入框(QlineEdit)下面做一个模糊查找的弹窗(PopupWidget),当鼠标点击弹窗以外的地方时,这个窗口关闭,当光标在输入框重新输入内容时,再次弹框。实现方法方法一在网上查找到的方法;设置窗口标志位:setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);此方法可以达到弹出式窗口的效果,但是出现了一个致命的问题,但我再次show()这个窗口时(popupWidget),程序会闪退,网上找了很久才找到解决办法。重写原创 2021-05-22 17:57:57 · 9510 阅读 · 4 评论 -
QT QMenu菜单项图标文字对齐问题
问题当菜单项中有的项是带有Icon和文字的,有的字确单单文字,这会出现没有Icon的项文字是和带有Icon项的文字是对齐,我们想要达成的效果是无论有没有Icon,一律都是左对齐,但是QAction中没有提供接口设置文字的对齐方式的。解决方法没有Icon的项改中QWidgetAction://system set QAction* pSysSetting = new QAction(QIcon("://Resources/Dark_icons/custom trade/set_icon.sv原创 2021-05-22 16:40:59 · 2761 阅读 · 0 评论 -
TableView设置滚动条不显示问题
QTableView 如何设置滚动条?ui->m_tableViewOrder->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);ui->m_tableViewOrder->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);Qt::ScrollBarAsNeeded:当TabelView无法完全显示时,自动出现滚动条,默认是这个Qt::ScrollBarAlwaysOf原创 2021-04-04 11:04:37 · 3744 阅读 · 0 评论 -
Qt5之 QThread
概述在 Qt 4.4 版本以前的 QThread 类是个抽象类,要想编写多线程代码唯一的做法就是继承 QThread 类,并在 run() 函数中塞入耗时操作代码。可能造成的问题是明明把耗时操作代码放入了新线程,可实际仍在旧线程中运行。但是之后的版本中,Qt 库完善了线程的亲和性以及信号槽机制,我们有了更为优雅的使用线程的方式,即 QObject::moveToThread()。这也是官方推荐的做法。Qt 5 使用线程在Linux中,我们往往把耗时的操作放到一个新的线程中,而在Qt中,为了不破坏类的结原创 2021-03-27 19:36:33 · 652 阅读 · 0 评论 -
QSplitter实现窗口的自由伸缩(切割窗口)
QSplitter 作用可以实现窗口的分割,在分割处,可以实现窗口的随意拖动,以至于每个窗口的大小可以按照自己需求进行调整。QSplitter 有水平分裂布局和垂直分裂布局两种。代码实现:#include <QHBoxLayout>#include <QSplitter>#include <QTextEdit>int main(int argc, char *argv[]){ QApplication a(argc, argv); QWid原创 2021-03-16 20:15:44 · 1345 阅读 · 0 评论