Qt
风起时~微凉
面朝大海,静等春暖花开……
展开
-
Qt实现二维码
今天主要讲述通过qrencode生成二维码。qrencode是开源的二维码QR码编码库,主要C语言编写的,这样方便移植到各种平台下。qrencode特点如图所示下载qrencode源码如下:代码实现:QImage TcQrencode::encodeImage(const QString& s, int bulk){ QImage ret; QRcode* qr = QRcode_encodeString(s.toUtf8(), 1, Q...原创 2021-07-05 14:18:41 · 1127 阅读 · 0 评论 -
增加网页访问量
今天在网上看文章,好多刷新网页的脚本,自己就用Qt的QWebengineView实现了一个:1)UrlConfig.ini文件Time:刷新超时时间ListUrl:URL地址,以逗号隔开BaseUrl:如果刷新网页URL前缀一样,此处填前缀,ListUrl只需要填Url不同部分refreshNum:总刷新次数2)代码分析:a.包含四个按钮(开始、停止、清除、退出软件),TestBrowser显示操作,WebEngineView加载界面b.读取配置文件信息c.定时器超时,设置index值看原创 2021-06-23 19:27:37 · 613 阅读 · 0 评论 -
Qt多线程实现方法
Qt提供了三种实现多线程的方式:1)继承QThread,重写run方法代码如下:MyThread::MyThread(QObject *parent) :QThread(parent){}void MyThread::run(){ QTimer *timer = new QTimer(); connect(timer,&QTimer::timeout,this,[](){ qDebug() << "TMyThreadID:::" <原创 2021-06-22 17:40:57 · 1840 阅读 · 0 评论 -
Qt对数据库操作
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。QSqlDatabase创建连接数据库实例,一个QSqlDatabase的实例代表一个数据库的连接。QSqlQuery进行执行数据库语句。Qt 提供了对不同数据库的驱动支持:Driver TypeDescriptionQDB2IBM DB2QIBASEBorland InterBase DriverQMYSQLMySQL Dr原创 2021-06-22 11:31:53 · 2488 阅读 · 0 评论 -
Qt事件处理流程详解
本文主要对Qt的一些事件处理,做一个介绍:事件流程图:1、事件产生1)QApplication::postEvent():调用 QApplication::postEvent(),将其放入Qt的消息队列中,依次等待被处理;postEvent()中事件对象的生命周期由Qt平台管理,只支持分配在堆上的事件对象,事件被处理后由Qt平台销毁。这种方式是异步处理事件,Qt的事件循环是异步的,当调用QApplication::exec()时,就进入了事件循环,先处理Qt事件队列中的事件, 直至为空,再处理系统消原创 2021-06-21 18:02:48 · 2021 阅读 · 0 评论 -
Qt国际化(lupdate/linguits/lrelease)生成.ts和转换成.qm文件
1、需要翻译的文本在编写QT程序的时候,对于要翻译的文本,应当使用tr()包含起来。我们先来看看tr函数的原型,这是一个静态函数。QString QObject::tr(const char * sourceText, const char * disambiguation = 0, int n = -1)备注:因为Qt中的类都继承自QObject类,所以这里直接使用了tr,如果不是在继承自QT的类中使用,应该用Object::tr(…)来调用2、lupdate更新翻译先说一下lupda..原创 2021-06-09 15:52:39 · 6645 阅读 · 4 评论 -
Qt对摄像头操作
QT本身是提供对摄像头操作的类QCamera,下面简单通过实例介绍一下: QCameraViewfinder * pViewfinder = new QCameraViewfinder(this);//用于显示 pViewfinder ->setFixedSize(785,295); QCamera * pCamera = new QCamera();//摄像头操作类 pCamera ->setViewfinder(pViewfinder);// CaptureViewfinder:相原创 2021-06-08 17:59:30 · 646 阅读 · 0 评论 -
Qt串口工具实现
使用QtSerialPort实现串口收发数据,具体代码如下:头文件:#ifdef WIN32 #pragma execution_character_set("utf-8")#endif#ifndef SERIALPORTTOOLVIEW_H#define SERIALPORTTOOLVIEW_H#include <QObject>#include <QFrame>#include <QtSerialPort/QtSerialPort>#inc原创 2021-06-07 19:17:08 · 1198 阅读 · 0 评论 -
QGraphicsEffect特效(模糊,变色,阴影,透明)
QGraphicsEffect特效(模糊,变色,阴影,透明)Qt模糊效果Qt变色Qt实现阴影Qt透明原创 2021-06-02 15:27:46 · 383 阅读 · 0 评论 -
Qt设置父窗口,透明度不起作用
setWindowOpacity不起作用Qt设置父窗口,透明度不起作用原创 2021-06-02 15:13:34 · 2313 阅读 · 0 评论 -
生成随机数的几种方式
//旧版本先初始化随机数种子然后取随机数qsrand(QTime::currentTime().msec());qrand()%10;Qt最新QRandomGenerator、QRandomGenerator64生成随机数QRandomGenerator::global()->bounded(100); //生成一个0和100之间的整数QRandomGenerator::global()->bounded(3.1415); //生成一个0和3.1415之间的浮点数原创 2021-05-31 13:20:24 · 419 阅读 · 0 评论 -
Qt设置通用模板快速注释
菜单->工具->选项->文本编辑器->片段;添加一个片段, 比如名字是custom, 触发种类是这个片段的简单描述;当我们在代码文件中键入cunstom时, 会自动弹出智能提醒, 选择我们的代码片段回车, 自动填充代码;按tab可以在变量间切换, 输入完成后回车, 完成编辑;新建片段代码如下:/*** @brief File Description* @author Admin* @date %{CurrentDate:原创 2021-05-31 13:08:59 · 662 阅读 · 0 评论 -
qApp加载qss技巧
使用Qt加载qss样式,一般操作是读取文件,通过setStyleSheet设置但是qApp只需如下:qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp原创 2021-05-31 13:02:25 · 578 阅读 · 0 评论 -
Qt处理高分辨率自适应方法
在main函数的最前面加上下面这句(5.6版本后)#if (QT_VERSION > QT_VERSION_CHECK(5,6,0)) QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);#endif在可执行文件同目录下新建文件 qt.conf 填入下面内容[Platforms]WindowsArguments = dpiawareness=0在main函数最前面设置Qt的环境变量qputenv(".原创 2021-05-31 12:59:17 · 1948 阅读 · 0 评论 -
Qt不重新绘制窗口
当窗口变化不想重新绘制方法有如下两种://1、设置属性setAttribute(Qt::WA_StaticContents, true); //2、调用方法widget->setUpdatesEnabled(false);原创 2021-05-28 19:44:22 · 1465 阅读 · 0 评论 -
QVideoWidget播放视频闪屏
QVideoWidget播放视频闪屏添加如下代码:widget->setAttribute(Qt::WA_OpaquePaintEvent);原创 2021-05-28 19:42:20 · 571 阅读 · 0 评论 -
Qt控件获取焦点有虚线
按tab键,默认程序中获取焦点以后会有虚边框,使用样式表可以去除:setStyleSheet("*{outline:0px;}");原创 2021-05-28 19:31:59 · 500 阅读 · 0 评论 -
Qt乱码问题
碰到乱码问题一般解决如下:1、修改文件格式为UTF-8 BOM编码2、修改代码的两种方法1)u8+字符串:u8“测试”2)头文件中添加:#ifdef WIN32 #pragma execution_character_set("utf-8")#endif原创 2021-05-28 19:27:54 · 138 阅读 · 0 评论 -
Qt的转义字符,单双斜线路径转换
Qt转义字符原创 2021-05-28 19:22:58 · 4290 阅读 · 2 评论 -
Qt自带未公开的属性
Qt的private属性Qt的private功能Qt自带的解压缩原创 2021-05-28 19:13:19 · 2428 阅读 · 0 评论 -
Qt模态和非模态窗口
Qt半模态窗口Qt如何让模态窗口不影响其他响应原创 2021-05-28 18:51:05 · 644 阅读 · 0 评论 -
继承QWidget之后,样式表不起作用
Qt中继承QWidget之后,样式表不起作用1、设置属性 this->setAttribute(Qt::WA_StyledBackground, true);2、改成继承QFrame,因为QFrame自带paintEvent函数已做了实现,在使用样式表时会进行解析和绘制。3、重新实现QWidget的paintEvent函数时,使用QStylePainter绘制。void Widget::paintEvent(QPaintEvent *){ QStyleOption option;原创 2021-05-28 18:30:53 · 370 阅读 · 0 评论 -
输入框控件组合
输入框控件组合编辑框组合QLineEdit添加自定义控件原创 2021-05-28 18:08:10 · 237 阅读 · 0 评论 -
QJsonObject和QString互转
QJsonObject和QString互转QJsonArray和QString互转原创 2021-05-27 16:56:41 · 11768 阅读 · 0 评论 -
字符串gbk和utf-8互相转换编码
QTextCodec *gbk = QTextCodec::codecForName("GB18030"); QTextCodec *utf8 = QTextCodec::codecForName("UTF-8"); gbk->fromUnicode(utf8->toUnicode(strGBK.toUtf8()));//utf-8转gbk utf8->fromUnicode(gbk->toUnicode(QByteArray(szGBK)));//gbk转utf-8..原创 2021-05-27 16:50:18 · 699 阅读 · 0 评论 -
Qt正则表达式相关
使用正则表达式验证IP是否合法使用正则表达式验证是否为数字使用正则表达式验证数字、字母、下划线原创 2021-05-27 14:11:05 · 218 阅读 · 0 评论 -
Qt本地进程间通信QLocalSocket
Qt提供本地基于socket实现的进程间通信,具体示例如下;1、服务器端头文件#ifndef LOCALSOCKETSERVER_H#define LOCALSOCKETSERVER_H#include <QObject>#include <QLocalServer>#include <QLocalSocket>#include <QDataStream>class LocalSocketServer : public QObject{原创 2021-05-27 13:52:38 · 1325 阅读 · 0 评论 -
QProcess的start和startDetached区别
启动一个进程或者是运行cmd命令可以通过QProcess实现,现在说一下两种启动方式区别:start:父子进程不分离,父进程退出,子进程同步退出startDetached:父子进程分离,父进程退出,子进程不会同步...原创 2021-05-27 10:41:55 · 2630 阅读 · 0 评论 -
Qt刷新样式表
在开发过程中需要不断更新控件样式表,只需要如下代码://删除原有样式style()->unpolish(pBtn);pBtn->setStyleSheet(“background-color:red”);//重新设置新的该控件的样式。style()->polish(pBtn);原创 2021-05-26 19:12:26 · 1585 阅读 · 0 评论 -
QWebengineView和js交互
QWebengineView和js交互QWebengineView和html交互QWebengineView和js通信Qt和js通信Qt和js交互原创 2021-05-25 15:01:23 · 3459 阅读 · 6 评论 -
Qt封装动态库
qt实现sdkQt封装动态库Qt动态库使用原创 2021-05-19 19:46:24 · 1995 阅读 · 0 评论 -
Qt如何实现圆形按钮
通过圆形位图设置通过border-radius设置Qt如何实现圆形按钮Qt实现圆形按钮的几种方式原创 2021-05-19 19:29:11 · 6810 阅读 · 0 评论 -
QComboBox样式表
QComboBox样式表QScrollBar样式表Qt下拉框样式表原创 2021-05-19 19:17:55 · 1538 阅读 · 0 评论 -
QLibrary实现机制
QLibrary加载动态库QT加载动态库操作原创 2021-05-19 10:33:18 · 714 阅读 · 0 评论 -
Qt自带的日志框架
Qt重定向日志文件qInstallMessageHandler()注册日志消息qDebug:调试信息qWarning:警告信息qCritical:严重错误qFatal:致命错误原创 2021-05-18 18:50:43 · 757 阅读 · 0 评论 -
Qt如何实现圆角效果
qss样式表使用位图painterQt通过qss实现圆角Qt如何实现圆角Qt如何实现窗口圆角原创 2021-05-17 10:29:19 · 1933 阅读 · 0 评论 -
Qt如何实现半透明窗口
整体窗口透明,子控件不透明窗口及其子控件都透明使用painter绘制窗口透明Qt如何实现半透明窗体Qt实现父窗口透明原创 2021-05-17 10:12:35 · 2738 阅读 · 0 评论 -
Qt如何写PDF文档
QPixmap watermask ;CreatePixBg(watermask , QString(“11111111111111111111111”));//创建水印图片 见另外一篇文章QFile pdfFile(R"(\123.pdf)");pdfFile.open(QIODevice::ReadWrite);QPdfWriter* pWriter = new QPdfWriter(&pdfFile);QPainter *painter = new QPainter(pWrite原创 2021-04-21 10:27:26 · 708 阅读 · 0 评论 -
Qt如何给图片添加水印
Qt可以给图片添加水印,闲言少叙,进入正文:* 设置字体* 旋转角度* drawTextvoid CreatePixBg(QPixmap &pm, QStringtext){QPainter painter(&pm);int fontSize = 25, spacing = 10;QFont font(“微软雅黑”, fontSize, QFont::Thin);font.setLetterSpacing(QFont::AbsoluteSpacing, spacing);p原创 2021-04-21 10:26:23 · 2295 阅读 · 0 评论 -
Qt窗口模糊和阴影效果
1)模糊效果QGraphicsBlurEffect *blureffect = new QGraphicsBlurEffect;blureffect->setBlurRadius(30); //数值越大,越模糊控件->setGraphicsEffect(blureffect);2)阴影效果QGraphicsDropShadowEffect *e2 = new QGraphicsDropShadowEffect(this);e2->setOffset(8,8);item[2]-原创 2021-04-09 10:47:37 · 1655 阅读 · 0 评论