qt
Qt相关的技术总结
beibeix2015
写点什么 !
展开
-
已经完成Qt布局中,添加布局
问题:已经布局好的UI,需要添加两个按钮布局后再添加到原有布局中,无法使用Designer拖动实现方法:直接修改.ui对应的xml,添加一个layout然后再将部件添加到布局中。原创 2022-09-29 16:02:09 · 764 阅读 · 0 评论 -
线程中启动定时器,定时器事件在定时器中响应
timerForProgress.setInterval(200); timerForProgress.start(); timerForProgress.moveToThread(&thread); connect(&timerForProgress, &QTimer::timeout, this, &CycadOralScanRegistrationDialog::onTimerForProgressTimeout, Qt::Direc.原创 2021-12-08 15:22:02 · 246 阅读 · 0 评论 -
Qt动态属性
Qt的动态属性unpolish()和polish()1. Qt中的属性属性是指窗口或控件的属性,比如opacity属性表示“透明度”,geometry指的是“位置和大小”,pos属性代表“位置”。qt中的控件有自带的属性,我们也可以自己定义属性。QObject这个类有一个函数setProperty,我们可以通过这个函数定义自己的属性,使用方法很简单,setProperty(const char * name, const QVariant & value),第一个参数是属性的名称,第二个原创 2021-11-28 23:11:50 · 2894 阅读 · 0 评论 -
QComboBox下拉菜单中有分隔符Separator时的样式设置
QHBoxLayout* lay = new QHBoxLayout(this); // 创建测试用的下拉框对象 QComboBox* cbo = new QComboBox(this); lay->addWidget(cbo, 0, Qt::AlignTop | Qt::AlignHCenter); // 添加测试用的数据 cbo->addItem("the 1st data"); cbo->insertSeparator(1); // 添加的分割符 cb..原创 2021-10-31 22:53:48 · 1258 阅读 · 0 评论 -
QT 对话框添加背景图片的方法
QPalette的方法#include < QApplication >#include < QtGui >int main( int argc, char * argv[]){ QApplication app(argc,argv); QFrame * frame = new QFrame; frame -> resize( 400 , 700 ); QPixmap pixmap("images/原创 2021-10-31 22:48:14 · 694 阅读 · 0 评论 -
QTreeWidget设置样式
const QString VSCROLLBAR_STYLE = "QTreeWidget{background: #1d1d1d;border: 1px solid #3c3c3c;border-radius: 4px;color:#ffffff;}" "QScrollBar:vertical{margin:13px 0px 13px 0px; background-color:rgb(255,255,255,100); border: 0px; width:12px;}.原创 2021-09-17 09:08:06 · 1631 阅读 · 0 评论 -
QT5中使用SQLite
参考在Qt中使用SQLite数据库QT5中使用SQLite如何在Qt中使用数据库Sqlite保存和提取图片How to Store and Retrieve Image on SQLite - Qt Wiki原创 2021-09-14 21:46:11 · 110 阅读 · 0 评论 -
QByteArray储存二进制数据(包括结构体,自定义QT对象)
参考QByteArray储存二进制数据(包括结构体,自定义QT对象)原创 2021-09-14 21:35:50 · 1258 阅读 · 0 评论 -
Qt安装包下载
Qt 官方下载(非常慢)Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/Qt 国内镜像站下载(较快)国内镜像网站这里给大家推荐几个国内著名的 Qt 镜像网站,主要是各个高校的:中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/ 清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/ 北京理工大学:http://mirror原创 2021-07-15 10:58:07 · 378 阅读 · 0 评论 -
Qt程序中最多可以启动的线程数量
参考一个进程(process)最多可以开辟多少个线程(thread) Qt 事件系统浅析 (用 Windows API 描述) Qt源码分析之事件分发器QEventDispatcherWin32原创 2021-07-02 17:35:40 · 3190 阅读 · 0 评论 -
主动退出线程的问题
某BBS的一篇关于Qt线程退出问题的思考:自己总结,关于QThread线程的退出销毁,不看你会后悔噢。观点不同可发表。研究了两天,得出的总结。有不正确,请指正。class Thread : public QThread{ Q_OBJECTprotected: void run();}void Thread::run(){ /******* do something......*******/} // create &a...原创 2021-07-02 15:13:03 · 501 阅读 · 0 评论 -
父子进程中子进程默认继承父进程的文件句柄,导致日志文件重命名失败
解决办法:1、QProcess::startDetached方式启动进程,子进程与父进程分离;2、设置参数使得子进程不继承父进程中的句柄;QProcess process; process.setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments *args) { args->inheritHandles = false; });//子进程不继承父进程原创 2021-06-25 17:05:01 · 837 阅读 · 0 评论 -
Qt生成随机数的方法
参考Qt生成随机数的方法原创 2021-06-21 11:37:54 · 376 阅读 · 0 评论 -
Qt添加菜单栏
两种方法,一是用代码直接手动添加,二是在Qtdesigner中在界面上直接添加。先介绍用代码如何添加。需要用到两个类QMenu和QAction,例如我的Demo程序界面如下:原创 2021-06-13 16:24:41 · 4396 阅读 · 0 评论 -
为qt程序添加ico图标
参考为qt程序添加ico图标原创 2021-06-12 18:28:25 · 155 阅读 · 0 评论 -
Qt自适应窗口
参考Qt自适应窗口的布局原创 2021-06-11 16:30:43 · 388 阅读 · 0 评论 -
QT显示图片
Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。1. Qt可显示的图像类型参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP、GIF、JPG、JPEG、PNG、TIFF、PBM、PGM、PPM、XBM、XPM。2. Qt用如何显示图像通常用QLabel显示图像,QLabel类有setPixmap()函数,可以用来显示图像。也可以直接用QPainter画出图像。如果图像过大,直接用QLa原创 2021-06-11 16:26:59 · 4264 阅读 · 1 评论 -
加速C++程序编译的方法
1、并行编译可以开启多核编译来提高编译速度,充分利用机器的性能来优化编译。打开 Qt Creator,选择【Kits】->【构建套件(kit)】,在【Environment】处输入“MAKEFLAGS=-j16”。这是最便利的方式,一劳永逸,只需设置一次,后期所有使用 make 的构建系统都会自动启用。2、利用第三方工具...原创 2021-06-06 18:10:25 · 1188 阅读 · 0 评论 -
Qt判断某个指定名称的程序是否正在运行
bool checkProcessRunning(const QString &processName, QList<quint64> &listProcessId){#ifdef Q_OS_WIN bool res = false; HANDLE hToolHelp32Snapshot; hToolHelp32Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PRO.原创 2021-06-04 09:37:00 · 1484 阅读 · 2 评论 -
Windows平台磁盘空间监控和删除生成的文件
参考qt 获取系统磁盘空间大小原创 2021-06-02 16:47:26 · 231 阅读 · 0 评论 -
Qt多进程
参考QProcess中的start和startDetached两种启动方式的区别原创 2021-06-02 16:38:26 · 565 阅读 · 0 评论 -
继承自QObject的类对象不允许拷贝
参考https://blog.csdn.net/yao5hed/article/details/81075692explicit和QObject的禁止拷贝原创 2021-06-01 14:58:11 · 200 阅读 · 0 评论 -
Qt自定义类型注册以及Q_DECLARE_METATYPE
如果要在Qt信号槽中使用自定义类型,需要注意使用qRegisterMetaType对自定义类型进行注册,当然在不跨线程时使用自定义类型signal/slot来传递,可能不会出现什么问题;一旦涉及跨线程就很容易出错,回想下信号槽的作用就是用来对象与对象之间通信的,难免会跨线程,建议在使用自定义类型利用信号槽通信时,最好先通过qRegisterMetaType()将自定义类型进行注册,以免出错。总结qRegisterMetaType使用方法如下:1、注册位置:在第一次使用此类链接跨线程的signal/..原创 2021-06-01 09:57:20 · 930 阅读 · 0 评论 -
QLabel之动态阴影边框
实现https://gitee.com/beibeix/qt-samples/tree/master/QtDynamicShadowBorder参考【Qt】QLabel之动态阴影边框原创 2021-05-19 17:23:58 · 407 阅读 · 0 评论 -
利用QLabel的显示圆形
参考Qt下设置QLabel字体的大小和颜色原创 2021-05-14 08:42:14 · 1049 阅读 · 0 评论 -
Qt获取本机IP
参考用QT获取本机IP原创 2021-05-13 17:47:03 · 84 阅读 · 0 评论 -
Qt写文件
参考Qt QFile读写文件、读取文件信息 Qt学习之路(56): 二进制文件读写 Qt读写二进制文件 Qt5--文件操作(2)读写二进制文件 Qt二进制文件操作(读和写)详解 Qt中的QFile读写文件操作 QImage的构造函数和fromData()及PNGBMP格式 Qt之生成png/jpg/bmp格式图片 ...原创 2021-05-13 17:46:03 · 103 阅读 · 0 评论 -
Qt中Lamda表达式的使用
参考C++之Lambda表达式 Qt5 connect新语法:Lambda表达式原创 2021-05-13 17:20:17 · 152 阅读 · 0 评论 -
无法将事件发送到其他线程拥有的对象
这类问题,避免的方式:多线程中的对象如果设计到释放,还是使用继承方式实现,在线程中创建;避免使用moveToThread。参考QT中出现"无法将事件发送到其他线程拥有的对象"断言提示的原因 Cannot send events to objects owned by a different thread. ...原创 2021-05-13 17:18:34 · 466 阅读 · 0 评论 -
Qt多线程程序安全退出
参考退出应用程序安全退出Qt线程 Qt线程QThread开启和安全退出原创 2021-05-13 16:45:53 · 921 阅读 · 0 评论 -
Qt多线程
参考QT线程池的使用:QThreadPool类和QRunnable类 Qt QtConcurrent之 Run 函数用法 QT:使用线程池 QThreadPool 与 QRunnable QT线程池的使用:QThreadPool类和QRunnable类 Qt线程池原创 2021-05-13 16:40:34 · 88 阅读 · 0 评论 -
Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
参考Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法原创 2021-05-13 16:20:06 · 76 阅读 · 0 评论 -
相同客户端,socket连接qt相同服务器代码的debug版和release版,debug能正常连接,release版连不上
发现防火墙的问题,将防火墙关闭就可以了。参考:相同客户端,socket连接qt相同服务器代码的debug版和release版,debug能正常连接,release版连不上原创 2021-05-13 09:25:46 · 359 阅读 · 0 评论 -
QT中QTcpSocket中的readall()函数出现接收不完全的解决办法
参考Qt TCP通信readAll()读取接收数据时无法读完大数据量的解决法案 使用QT中QTcpSocket中的readall()函数出现接收不完全的解决办法原创 2021-05-08 20:10:11 · 3316 阅读 · 0 评论 -
基于TCP的网络通信应用层设置心跳的必要性
参考QT:KeepAliveOption的应用 TCP服务器是否需要心跳包?原创 2021-04-27 09:50:55 · 126 阅读 · 0 评论 -
CMake编译Qt工程
方法1、使用QtCreator建立一个简单的qt程序2、在工程根目录下新建CMakeLists.txt文件,内容如下#设置cmake版本号cmake_minimum_required(VERSION 3.10.0)#设置工程名称project(QTCmakeDemo)#设置工程包含当前目录,非必须set(CMAKE_INCLUDE_CURRENT_DIR ON)#设置自动生成moc文件,一定要设置set(CMAKE_AUTOMOC ON)set(CMAKE_AUTOUIC O.原创 2021-04-26 10:28:30 · 2332 阅读 · 1 评论 -
Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)
参考Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)原创 2021-04-26 10:19:21 · 637 阅读 · 0 评论 -
Qt线程与定时器
参考Qt——线程与定时器原创 2021-04-26 09:25:42 · 590 阅读 · 0 评论 -
在QT中获得经过的时间
QTimeQTime myTimer;myTimer.start();// do something..int nMilliseconds = myTimer.elapsed();QElapsedTimer#include <QDebug>#include <QElapsedTimer>......QElapsedTimer timer;timer.start();slowOperation(); // we want to measure the原创 2021-04-26 09:24:32 · 408 阅读 · 0 评论 -
QT中解决QSocketNotifier: socket notifiers cannot be enabled from another thread错误
参考QT中解决QSocketNotifier: socket notifiers cannot be enabled from another thread错误原创 2021-04-26 09:17:26 · 2575 阅读 · 0 评论