
QT
文章平均质量分 60
yayapoi~
这个作者很懒,什么都没留下…
展开
-
qwt android windows下编译和使用
qwt介绍QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。我用的 qwt 6.1.4 .原创 2020-11-20 18:32:33 · 379 阅读 · 0 评论 -
qt 5.13.1 Android环境
qt的Android环境需要三种东西,jdk, sdk, ndk。当然最先需要qt 安装一些组件。通过QT 安装目录下的管理工具进行添加。进去后选择“添加”更新后就完事了。接下来是下载jdk, ndk, sdk。官方文档上的组合是https://doc.qt.io/qt-5/android-getting-started.html经过试验,我的配置是jdk不晓得什么时候装上的,就剩下SDK 和 NDK 需要安装。NDK比较简单,下载压缩包,随意丢.原创 2020-11-03 17:00:07 · 433 阅读 · 0 评论 -
Qt模型/视图 自定义模型(QAbstractItemModel)
自定义模型至少需要实现QAbstractItemModel类中的以下5个纯虚函数:columnCout()、rowCount()、index()、parent()、data()为了能添加自已的数据到模型中,通常还需要重新实现setData()函数,若不重新实现setData()则无法向模型中添加数据。自定义模型的基本原理及步骤如下①、数据:实际数据可使用QList、数组、整型、或单独的一个类来保存,数据可存放在模型中,也可存放在文件等其他地方。②、columnCout()、rowCoun..转载 2020-09-23 18:09:00 · 3639 阅读 · 0 评论 -
qt控件获取焦点时全选或清空内容
bool XXX::eventFilter(QObject * watched, QEvent * event){ return QWidget::eventFilter(watched, event);}QT要想获取焦点时全选或清空内容,需要用到 eventFilter() ;说到获取焦点时,一般想到的是QEvent::FocusIn ,if (watched == ui.userName_lineEdit) { if (event->type() == QEvent:..原创 2020-09-12 14:19:05 · 1864 阅读 · 1 评论 -
qt vs 中文乱码
QString显示中文乱码的原因:Qt5中QString内部采用unicode字符集,utf-16编码。构造函数QString::QString(const char *str)默认使用fromUtf8()将str所指的执行字符集从utf-8转码成utf-16。由上面fromUtf8()可知,QString需要执行字符集编码为utf-8,然后以utf-8进行解码,再编码为utf-16才能获得正确的字符编码。显示中文乱码的原因其实就QString转码方式与执行字符集不一致。(比如,源字符集为本地字符集G原创 2020-08-27 17:08:27 · 4062 阅读 · 3 评论 -
QPixmap、QImage、QBitmap和QPicture的区别
·QImage与Qpixmap的区别 1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的 2、QPixmap依赖于所在的平台的绘图引擎,故例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果如果单纯的show出来一张图片,不做操作,选用QPixmap效率高一些,如果带操作,使用QImageQImage是与设备无关,QPixmap是...转载 2020-08-27 10:29:17 · 940 阅读 · 0 评论 -
子线程 Cannot queue arguments of type 'QTextCursor'
使用子线程时,向主线程发送包含 qstring 的信号,但是有下面这个提示。而且程序会崩溃。QObject::connect: Cannot queue arguments of type 'QTextCursor'(Make sure 'QTextCursor' is registered using qRegisterMetaType().)firstdoingwork 在子线程中...原创 2020-01-06 16:59:09 · 3885 阅读 · 0 评论 -
qt QNetworkAccessManager QNetworkReply 内存泄露
QT的QNetworkAccessManager、QNetworkReply使用时应注意内存泄露问题。 原因在于他们收到的内容是个指针指向的内存,需要我们手动deleteLater()。一、下面是测试代码#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QN...原创 2019-12-26 10:41:12 · 4113 阅读 · 1 评论 -
单例模式 Q_GLOBAL_STATIC 线程安全
单例模式很多人洋洋洒洒写了一大堆比如这里http://xtuer.github.io/qtbook-singleton/比如这里http://m.blog.youkuaiyun.com/Fei_Liu/article/details/69218935但是Qt本身就提供了专门的宏Q_GLOBAL_STATIC通过这个宏不但定义简单,还可以获得线程安全性。rule.h#ifn...转载 2019-12-12 11:09:13 · 512 阅读 · 0 评论 -
开机自启动 路径错误 找不到文件
开机自启动:修改了注册表 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 。但是开机自启动后 找不到指定路径的 文件。最后发现是 路径问题。我当时使用的是 QT 的取路径函数:QDir::currentPath()这个是取 exe 所在的文件夹。可能自启时候 exe 的文件夹路径会改变。...原创 2019-12-05 10:10:58 · 1539 阅读 · 0 评论 -
qt failed to create opengl context for format qsurface
打包好程序后就这样,win7没问题,win10就有这个问题。在打包好的文件夹里可以找到 opengl32sw.dll 文件,改名opengl32.dll 即可。原创 2019-12-04 17:57:19 · 8340 阅读 · 2 评论 -
QT 窗体 控件透明度
一、窗口透明this->setWindowFlags(Qt::FramelessWindowHint); this->setWindowOpacity(1); this->setAttribute(Qt::WA_TranslucentBackground);//下面是窗体灰色半透明void closeDialog::paintEvent(QPain...原创 2019-12-04 17:52:52 · 215 阅读 · 0 评论 -
qt 查询数据库word插入文字图片
QT操作 word ,需要先制作一个 word 的 *.dot 模板,模板里先定好格式,并插入书签。QT是对书签进行查找和插入。*.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QSqlDatabase>#include <QSqlError>...原创 2019-11-20 09:34:17 · 667 阅读 · 0 评论 -
qt 日志类
#ifndef SYSTEMLOGMNG_H#define SYSTEMLOGMNG_H#include <QFile>#include <QMutex>#include <QDateTime>#include <QTextStream>#include <QString>#include <stdio.h>...转载 2019-11-06 15:22:11 · 249 阅读 · 0 评论 -
qt 自定义类的日志
网上的都是 控制台程序的 日志输出。这个是实用时 带界面那种的 日志输出。以后会专门整一个日志类,会更加方便。.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QDebug>#include <QFile>#include ...原创 2019-11-06 14:46:49 · 770 阅读 · 0 评论 -
c++11 与 qt 的生产者 消费者 加锁 两种实例
c+11的实例#include <QCoreApplication>#include<iostream>#include <mutex>#include <condition_variable>#include <Windows.h>#include <thread>using namespace std;...转载 2019-11-06 13:55:33 · 500 阅读 · 0 评论 -
qt 正则表达式
正则表达式有许多方便应用,比如:检验游戏玩家名字是否符合格式、取得一串字符串中所有子数列 这种子数列是一个小写字母加一个大写字母、对输入框LineEdit中的输入内容加以限制 比如只能输入数字 并且最多5位数。正则表达式更方便的完成这些功能。正则表达式的主要功能: 1. 字符串的匹配功能 2. 字符串的切割功能 3. 字符串的替换功能...原创 2019-11-05 10:52:45 · 7204 阅读 · 0 评论 -
qt 静态类成员回调函数 发送信号
使用第三方库,库提供接口,接口使用了自定义回调函数。问题: 1、回调函数频繁获得内容,如何获得内容及时处理。 2、回调函数不能使用类成员,不能发信号。解决方法:.hclass Widget : public QWidget{ Q_OBJECTpublic: static Widget* s_this; //---...原创 2019-10-31 17:29:00 · 2910 阅读 · 8 评论 -
QT 使用 QWebChannel 与 html 通信
想在 widget 里直接使用QWebChannel ,可以直接编译通过。想使用自定义类,例如这里面的 qwebchannelclass ,可以把里面的注释掉的取消注释,该注释的注释掉,就可以编译通过。 html可以是任何名字,扔在编译后的 exe 同文件夹里的名字为 html 的文件夹中,名字为 html 的文件夹里也要扔进去 qt 自带的 qwebchannel.js ,...原创 2019-10-14 17:28:35 · 2880 阅读 · 1 评论 -
QT5.13 connect子线程与主线程通信
QMetaObject::invokeMethod()不会用,用起来没达到自己想要的结果。可能比较方便点,不用写信号了。新建的控制台程序,可以回车输入一个一位数字。childThread.h#ifndef CHILDTHREAD_H#define CHILDTHREAD_H#include <QObject>#include<stdio.h>#include...原创 2019-08-15 15:35:08 · 2026 阅读 · 0 评论 -
QMutex QSemaphore
在Qt的多线程控制中,互斥量的访问最简单的控制是添加一个mutex锁,对一个函数或者变量锁定。 这说明只有一个锁,只能被一个QMutex得到,如果QMutex得不到这个锁,那它将不会执行紧随其后的代码,也就是在两个进程代码中需要共用一个QMutex类的实例,这样才能保证该实例是否获取到一个锁或者得不到一个锁。如果QMutex::lock()得不到这个锁,那么它将会一直等直到得到该锁为止,而另一个...转载 2019-08-21 10:52:52 · 602 阅读 · 0 评论 -
Linux QT 程序打包发布
使用Release版本编译在编译完成的run软件目录,右键新建一个sh, 随意名字.sh怎么右键新建文件2.1 在桌面上右键“打开终端”2.2 在终端我们使用cd命令进入用户目录下的模板文件夹。cd 模板2.3 然后使用vi命令在模板文件夹里面创建一个空白文件。vi 空白文件2.4 我们直接输入“:wq!”然后回车,就会保存文件。2.5 桌面里面右键就会有新建空白文件了。...转载 2019-08-21 10:51:33 · 196 阅读 · 0 评论 -
Qt使用多线程
Qt使用多线程的一些心得——1.继承QThread的多线程使用方法Qt使用多线程的一些心得——2.继承QObject的多线程使用方法原创 2019-08-21 11:40:59 · 148 阅读 · 0 评论 -
qt linux c ini
qt ini#include <QSettings>#include <QtDebug>#include<QDir>#include<QTime>// 使用C中的 头文件extern "C"{ #include <sys/stat.h>}qDebug()<<"current currentPat...转载 2019-09-11 12:26:01 · 178 阅读 · 0 评论 -
centos7 linuxdeployqt qt5.13.1 打包程序
一、简介linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。二、下载linuxdeployqt官方网址:https://github.com/probonopd/linuxdeployqt/releases按箭头点击,下载第一个。在保存它的文件夹下右键调出终端,用管理员模式运行下面命令...转载 2019-09-17 11:13:08 · 2771 阅读 · 8 评论 -
安装事件过滤器 installEventFilter
Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接的方法是继承QLineEdit重写keyPressEvent()函数,当点击了Space键时,调用focusN...转载 2019-09-30 15:00:23 · 777 阅读 · 0 评论 -
qml 伸缩边框
Rectangle { id: root width: 100; height: 400; color: "white" Rectangle { id: hideButton anchors { top: parent.top; bottom:parent.bottom...原创 2019-10-08 18:32:38 · 495 阅读 · 0 评论