Qt
文章平均质量分 63
Keycer
这个作者很懒,什么都没留下…
展开
-
分享一些总结比较好的Qt知识链接(持续更新)
-------------------------------------Github空间:https://github.com/feiyangqingyun头条号:Qt自定义控件介绍:该作者开发Qt超过10年,在自己的Github空间中总结了大量实用技巧和参考代码,可以有效帮助新老Qter爬坑,他在今日头条中也有大量知识分享。传送门:https://github.com/feiyangqingyun/QWidgetDemo (Qt编写的一些开源的demo,预计会有100多个,一直持续.原创 2021-04-17 15:03:21 · 459 阅读 · 0 评论 -
QSS中使用qproperty-<property name>设置Qt对象属性值的例子
对于在QSS中设置Qt对象属性值,QSS官方文档有如下描述但在实际使用时,使用qproperty-pixmap这种方式设置属性时遇到过一些问题,特在此处总结一下,如下面的例程:mylabel.h#ifndef MYLABEL_H#define MYLABEL_H#include <QLabel>class MyLabel : public QLabel{ Q_OBJECT //经测试,QPixmap类型必须配置WRITE,否则编译时会出现,如下错误:原创 2020-08-17 00:54:31 · 1009 阅读 · 1 评论 -
QSS属性选择器同时匹配多个属性的例子
Qt的QSS官方文档中关于属性选择器有如下的描述按照官方文档中的描述匹配一个属性完全没问题,但如果需要同时匹配多个属性该如何处理呢?官方文档没有给出具体的方法,经过测试,按照QPushButton[property1="value1"][property2="value2"]的方式可以同时匹配多个属性,下面举个栗子:mybutton.h#ifndef MYBUTTON_H#define MYBUTTON_H#include <QPushButton>class MyB原创 2020-08-17 00:00:33 · 1935 阅读 · 1 评论 -
Qt使用Unicode转义序列创建QString
(1)源文件保存为UTF-8,QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));#include "mainwidget.h"#include <QApplication>#include <QTextEdit>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, arg原创 2020-06-30 23:58:20 · 1356 阅读 · 0 评论 -
为QT5.8.0的文本编辑框右键菜单添加中文翻译
(1)使用Qt的单行和多行文本框时,右键菜单一直显示为英文,在中文环境下使用体验非常不好,我们需要将这些英文翻译为中文。Qt对于一部分语言做了上述右键菜单的翻译,这些翻译文件被保存在Qt安装路径类似于“5.8/mingw53_32/translations/qtbase_*.qm" 的文件中,但没有提供对应的中文翻译(即5.8/mingw53_32/translations/路径下找不到qtbase_zh_CN.qm文件)(2)通过研究得知,QT5并没有将文本框(QLineEdit、QTextEdi原创 2020-06-30 02:02:18 · 1187 阅读 · 2 评论 -
解决QListView的编辑器不起作用的问题
最近按部就班地写了QItemDelegate来实现QListView数据的编辑器功能,但运行后发现选中某一行数据编辑时,编辑器却没有正常显示出来。查看了之前写的代码才发现是因为自己漏掉了重写QAbstractListModel的flags虚函数的步骤,我觉得这是一个很重要的点,分享出来供大家参考。如下面的代码,其中一个重写了flags虚函数,另一个没有重写flags虚函数,从后面的运行效果可知,如果没有重写flags虚函数返回正确的配置数据,QListView的数据是无法被正常编辑的。main.cp原创 2020-05-24 01:34:34 · 1016 阅读 · 0 评论 -
QAbstractListModel配合QListView实现延迟加载的简单例子
运行效果主要代码:main.cpp#include <QApplication>#include <QListView>#include "listviewmodel.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); ListViewModel listViewModel; QListView listView; listView.setMode原创 2020-05-18 00:06:00 · 1089 阅读 · 0 评论 -
Qt使用内存、硬盘、网络三级缓存来获取图片列表并列表显示的例程
运行效果主要代码mainwidget.h#ifndef MAINWIDGET_H#define MAINWIDGET_H#include <QWidget>namespace Ui {class MainWidget;}class MainWidget : public QWidget{ Q_OBJECTpublic: expl...原创 2020-04-25 14:38:17 · 1227 阅读 · 0 评论 -
小白级从0搭建PyQt5开发环境步骤
1 说明本文先在Win10上从0开始搭建Python3的环境,然后在这个环境上搭建PyQt5的开发运行环境,最后创建了一个包含了用qt designer设计的窗口的例程。2 安装Python3本文使用Python3.8.2进入https://www.python.org/getit/点击如下图所示的链接在打开的页面中翻到最底部,点击如下图所示的链接,下载Windows...原创 2020-04-05 02:19:44 · 711 阅读 · 0 评论 -
Qt实现windows系统托盘例子
转载自:http://www.qtcn.org/bbs/read-htm-tid-85563.html,感谢原作者分享#ifndef WIDGET_H#define WIDGET_H#include <QtWidgets>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJEC...原创 2020-03-05 11:29:32 · 771 阅读 · 0 评论 -
Qt实现IP输入框(模仿Windows系统中的IP输入框)
本文章所用的代码整理自https://blog.csdn.net/u011417605/article/details/51353337,感谢原作者分享本代码在上述作者代码基础上做了如下修改:(1)屏蔽中文输入法(2)修复原作者代码中输入框四周的黑色边线无法正常显示的问题(3)添加类似windows的IP输入框中输入黑点后自动选中下一区段的特性(4)修复原作者代码中读取的IP字...原创 2019-11-27 15:39:23 · 3516 阅读 · 2 评论 -
QTableWidget列宽随心设置参考
有段代码,处理之前的运行效果:处理之后的效果:处理所增加的代码:ui->tableWidget->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents);ui->tableWidget->horizontalHeader()->setResizeMode(2, QHeaderView原创 2016-08-11 19:51:08 · 38822 阅读 · 12 评论 -
QTextEdit和QPlainTextEdit样式表中属性选择器不起作用的问题
QTextEdit和QPlainTextEdit样式表中属性选择器不起作用的问题。描述:QPlainTextEdit中设置QPlaintTextEdit[readOnly="true"]{....} QPlainTextEdit[readOnly="false"]{.....} 来为QPlainTextEdit在‘可编辑/不可编辑‘两种不同状态下设置不同的样式无效。Qt文档中有这样一段话原创 2016-08-11 19:36:19 · 5217 阅读 · 0 评论 -
Qt事件循环的一些理解(exec、eventloop)
转载自:http://blog.chinaunix.net/uid-27685749-id-3847998.html1、事件循环一般用exec()函数开启。QApplicaion::exec()、QMessageBox::exec()都是事件循环。其中前者又被称为主事件循环。事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会转载 2016-08-06 12:52:43 · 6298 阅读 · 0 评论 -
MAC地址特殊规定--设置MAC地址时需要有非法MAC设置判断,否则会导致网卡无法启动
第48位一定为0,表示单播地址,否则表示组播地址第47位一定为0,表示全球唯一地址,否则为1时表示本地地址所以MAC地址第一字节不能随便修改,最好固定为0不允许修改,设置非法时会导致网卡无法正常启动在QLineEdit中可以使用如下规则来规规范: ui->lineEth0_MAC->setInputMask("\\0\\0:HH:HH原创 2016-07-26 20:22:45 · 8774 阅读 · 2 评论 -
在windows平台上使用Qt和libmodbus库实现modbus主机功能
有时为了调试,需要在程序中实现modbus主机的功能,网上有一个现成的libmodbus C库,支持Linux, Mac OS X, FreeBSD, QNX 和 Win32。下载地址为:http://libmodbus.org/download/本文档主要说明这个库在Qt中使用的方法。我下载的是libmodbus-3.0.6.tar.gz, 使用的Qt版本为Qt 5.3.2, Qt原创 2015-04-03 15:10:16 · 41184 阅读 · 38 评论 -
实现私有化(Pimpl) --- QT常见的设计模式
转载自:http://blog.sina.com.cn/s/blog_667102dd0100wxbi.html一、遇到的问题1.隐藏实现我们在给客户端提供接口的时候只希望能暴露它的接口,而隐藏它的实现或者算法。这时候,至少至少有两种选择:(1)写一个抽象类, 然后继承它(2)使用PIMPL, 把实现放到内部公有的文件里,而对外部隐藏起来 2转载 2015-11-02 15:03:23 · 4371 阅读 · 1 评论 -
使用WinRar将Qt编译生成的exe和依赖的dll文件打包为一个exe文件的简单方法
如题,需要将QtCreator编译生成的*.exe文件和它所依赖的动态链接库(*.dll)文件打包为一个exe文件,步骤如下:(1)将编译生成的AppTest.exe、依赖的库文件、图标文件等复制到一个新建的文件夹下,如图:(2)选中所有文件,鼠标右键,选择”添加到压缩文件“,在弹出的winrar对话框中输入压缩文件名(注意,这个文件名不能为已有的AppTest.exe,否则会出错原创 2015-11-10 10:57:30 · 4183 阅读 · 1 评论 -
windows下完美的"免费"QT开发环境: QtCreator + VC2008Express
用MSVC编译器的主要原因是因为用到Jrtplib这个库不支持mingW编译器···---------------转载自 azhwQT4.5 后,针对OpenSource 版本的QT,nokia 也直接提供了QT OpenSource for vs2008的编译版本, 越来越方便了,不需要再经过几个小时的自己编译,或者用破解的Commercial转载 2015-10-09 11:33:09 · 4588 阅读 · 1 评论 -
Qt5.3.2插件式开发入门例程--仅供参考
工程结构:源代码:-----------------PluginPerson.pro---------------TEMPLATE = subdirsSUBDIRS += xiaoming \ person-----------------person.pro-------------------#-------------------------原创 2015-07-28 11:05:21 · 2249 阅读 · 0 评论 -
QtCreator委托类 QItemDelegate,自定义委托类
1 基本概念QAbstractItemDelegate:所有委托类的基类,使用paint()和sizeHint()来使它们可以渲染自身的内容2 自定义委托2.1 向项目中添加新的C++类,类名SpinBoxDelegate,基类QItemDelegate,类型信息继承自QObject 向自定义的委托类中添加管理编辑器部件的函数 //创建编辑器转载 2015-08-29 10:59:26 · 6866 阅读 · 0 评论 -
QTreeView使用模
转载自:http://blog.csdn.net/czyt1988/article/details/18996407?utm_source=tuicool关键代码:#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::转载 2015-08-29 15:37:43 · 1757 阅读 · 0 评论 -
QT:在QTableView中使用各种自定义委托
QT的MVC(View/Delegate)模型十分强大,可以利用各种控件来对表格的输入进行限制,不过我以前一直没有过,这几天研究了一下,写个小例子,希望大家喜欢。如果看不懂这个例子,请先看QT的自带例子: http://qt-project.org/doc/qt-4.8/itemviews-spinboxdelegate.html思路:1:为每一列定义委托: A:第一列转载 2015-08-29 13:46:58 · 8485 阅读 · 3 评论 -
Qt4.8.6插件化编程例程--仅供参考
工程结构:工厂源码:-------------PluginAnimal.pro------------TEMPLATE = subdirsSUBDIRS += \ dog \ animal-------------animal.pro------------------#-----------------------------------原创 2015-07-28 15:59:44 · 2181 阅读 · 6 评论 -
Qt-Linguist工具简单介绍和使用方法
转载自:http://blog.163.com/bingcaihuang@126/blog/static/198942122010103115655557/QT-Linguist工具主要用在项目的多语言翻译处理过程中,所有先简单介绍一下整个多语言处理过程,最后介绍Linguist的用法。(一)QT项目实现多语言,必须做两件事:1)确保每一个用户可见的字符串都使用了tr()函数。2)转载 2015-06-14 22:37:33 · 13429 阅读 · 0 评论 -
QWebView隐藏时使用代码点击网页上的一个链接或按钮无效。
QWebView隐藏时使用代码点击网页上的一个链接或按钮无效。核心代码:link.evaluateJavaScript("var evObj = document.createEvent('MouseEvents');evObj.initEvent( 'click', true, true );this.dispatchEvent(evObj);")link是什么?QWeb原创 2016-08-11 20:00:14 · 1312 阅读 · 0 评论 -
Qt+MSVC使用libmodbus实现modbus主机功能
描述:(1)libmodbus库是一个基于mingw的c语言modbus库,可以实现modbus主从机功能,但不能在VC环境下使用;(2)使用mingw包装成与编译环境无关的c语言动态链接库ModbusCDll.dll;(3)根据mingw编译所得的c语言动态链接库ModbusCDll.dll生成VC链接时需要的ModbusCDll.lib文件;(4)编写程序使用MSVC编译,并使原创 2016-10-06 20:26:09 · 7735 阅读 · 2 评论 -
QT学习笔记——如何调用父类的构造函数
C++.QT学习笔记——如何调用父类的构造函数 派生子类会继承基类的所有成员,除了构造函数和析构函数。也就是说子类是无法继承父类的构造函数和析构函数的.因此,子类对于从父类继承过来的成员变量,若不想自己写构造函数初始化时,就只能先初始化父类中的成员变量,然后再继承过来。如以下程序中: 子类Student1中的构造方法只有对新增成员int age和string ad转载 2013-03-26 17:21:14 · 4987 阅读 · 0 评论 -
Qt5.9在Centos7中qDebug不输出的解决办法
(1)在/etc/xdg/QtProject/路径下找到qtlogging.ini文件,如果没有则创建(2)将文件内容修改为如下内容[Rules]*.debug=trueqt.*.debug=false(3)重新运行Qt程序,就可以看到qDebug的输出了(4)上述方法已经实际测试过真的很好使(5)参考链接:https://stackoverflow.com/questi...原创 2019-07-23 11:05:47 · 1713 阅读 · 0 评论 -
远程登陆树莓派,使用root用户运行Qt程序提示No protocol specified QXcbConnection: Could not connect to display :0.0
转载自:https://blog.csdn.net/lslsyqyq/article/details/87164749问题:树莓派连接显示器A显示器B 使用ssh远程登陆树莓派。 在B上使用sudo su切换到root用户,并运行Qt程序,提示 No protocol specified QXcbConnection: Could not connect to displ...转载 2019-05-21 19:05:02 · 3390 阅读 · 1 评论 -
Qt使用AES128加密一段文字实例
本实例使用了现成的Qt库:https://github.com/bricke/Qt-AES主要代码:#include "mainwidget.h"#include "ui_mainwidget.h"#include "qaesencryption.h"#include <QCryptographicHash>MainWidget::MainWidget(QWidge...原创 2019-02-26 00:00:23 · 5171 阅读 · 4 评论 -
Qt5.8.0编译QtMqtt库并使用该库连接有人云的例子
一 编译QtMqtt库Qt5.10才官方支持MQTT,但我用的Qt版本是5.8.0 Mingw_32BIT, 为了在Qt5.8.0上添加MQTT支持,需要自己编译源码步骤:(1) git clone https://github.com/qt/qtmqtt.git(2) 使用Qt5.8.0自带的qtcreator打开qtmqtt的pro文件,然后切换到release模式编译(3...原创 2019-01-09 16:33:20 · 1490 阅读 · 2 评论 -
OpenCV2.4.10 + VC2010 + Qt5.4.2(MSVC2010) + QtCreator3.4.1 搭建OpenCV开发环境
(1)搭建好VC2010 + Qt5.4.2(MSVC2010) + QtCreator3.4.1 的集成开发环境;(2)下载并运行OpenCV2.4.10的安装程程序,安装程序会将OpenCV需要的动态库,静态库,头文件等解压到安装目录中。我安装在D:/OpenCV2.4.10文件夹下面;(3)如下图所示,在QtCreator中新建一个纯C++工程 (4)在.pro工程文...原创 2018-12-24 10:59:36 · 480 阅读 · 0 评论 -
QTableView的单元格中嵌入多个可点击的超链接的例子
关键代码:#ifndef STUDENT_H#define STUDENT_H#include <QString>class Student{public: Student(); void setId(int id); int id(); void setName(const QString &name); QStri...原创 2018-12-11 16:02:25 · 3835 阅读 · 1 评论 -
QListView配合Model和Delegate工作的例子
主要代码:#ifndef STUDENT_H#define STUDENT_H#include <QString>class Student{public: Student(); void setId(int id); int id(); void setName(const QString &name); QStri...原创 2018-12-11 11:00:30 · 6120 阅读 · 3 评论 -
Qt通过类名称创建类的实例的两种方法
1 通过qRegisterMetaType和QMetaType#ifndef ANIMAL_H#define ANIMAL_Hclass Animal{public: Animal(); virtual void voice();};#endif // ANIMAL_H#include "animal.h"Animal::Animal(){...原创 2018-12-05 16:33:14 · 8543 阅读 · 3 评论 -
初次使用Qt Creater网络编程,出现error: undefined reference to `_imp__WSAStartup@8'
转载自:http://blog.csdn.net/sheldon0227/article/details/49277859在VS中测试完好的modbusTCP发报端/客户端,拿到Qt当中做UI,build时出现error: undefined reference to `_imp__WSAStartup@8'等大约10条error,原因是socket库的编译链接问题。网上的解决办法:错误原因:因为...转载 2018-03-07 10:46:14 · 4151 阅读 · 0 评论 -
提升SQLite数据插入效率低、速度慢的方法
本文转载自:http://blog.csdn.net/chenguanzhou123/article/details/9376537#,谢谢原作者分享0 前言SQLite数据库由于其简单、灵活、轻量、开源,已经被越来越多的被应用到中小型应用中。甚至有人说,SQLite完全可以用来取代C语言中的文件读写操作。因此我最近编写有关遥感数据处理的程序的时候,也将SQLite引入进来,以转载 2017-08-29 14:54:32 · 828 阅读 · 0 评论 -
Qt操作windows注册表例程
实现效果修改注册表, 将特定后缀名的文件和应用程序关联,当打开该后缀名对应的文件时会启动对应的应用程序运行效果关键代码=============main.cpp====================#include"mainwidget.h"#includeintmain(intargc, char*argv[]){原创 2016-12-08 19:57:32 · 5923 阅读 · 0 评论 -
Windows下QtCreator与Qwt集成
版本信息:(1)msvc2010(2)Qt5.3.1 + MingW482 + QtCreator3.2.1(3)Qwt6.1集成过程:(1)下载并安装msvc2010进入http://microsoft-visual-cpp-express.soft32.com/ 下载msvc2010在线安装包,安装后会得到msvc2010的编译环境(2)下载Qwt6.原创 2016-10-07 22:48:03 · 2836 阅读 · 0 评论