
Qt
斩荆披棘
这个作者很懒,什么都没留下…
展开
-
QObject: Cannot create children for a parent that is in a different thread.
使用以下方法创建线程时:QThread *thread = new QThread;moveToThread(thread);thread->start();在槽里面的函数就在子线程中1.解决QObject: Cannot create children for a parent that is in a different thread.出现警告原因在使用Qt多线程时,若在主...原创 2020-01-19 21:07:47 · 3152 阅读 · 2 评论 -
linux Qt加载动态库
1.创建一个C++库的代码,并命名为libTest2.包含接口头文件#include “…/server/common.h”并在该头文件中定义枚举类型,相关结构体,一级回调函数typedef void (*DISSECTION_PROGRESS_CALLBACK)(int taskId, float progress, FileInfo *detail);typedef void (*...原创 2019-11-25 15:29:22 · 2145 阅读 · 0 评论 -
Qt在高分辨率屏幕上加载图片
1.图片资源关联设备缩放比QPixmap Pixmg::getPixmap(const QString name, const QSize size){const QIcon &icon = QIcon(name);const qreal ratio = devicePixelRatioF();QPixmap pixmap = icon.pixmap(size * ratio)....原创 2019-10-28 16:34:56 · 970 阅读 · 0 评论 -
Qt动态布局
背景:有些数据是不定时加载的,比如连接蓝牙,连接1个蓝牙设备就会添加1个蓝牙的相关信息;1个蓝牙设备数据与另1个蓝牙设备数据不能间隔太大,但是使用QVBoxLayout就会将上面2个蓝牙占满全屏,即使使用弹簧,也只能满足2个蓝牙向上对其;假如再次连接多个蓝牙,因为前面有了弹簧,就会使全部蓝牙不能向上对其了.解决办法:动态布局.每次有新的设备连接就重新布局,再最后面添加弹簧,这样就能保证...原创 2019-10-12 20:02:01 · 396 阅读 · 0 评论 -
迭代器删除数据
遍历方式1:QList<TimezoneItem *> m_zoneList;QList<TimezoneItem *>::Iterator iter = m_zoneList.begin();for (; iter != m_zoneList.end(); iter++) {if (edit) {(*iter)->toRemoveMode();} els...原创 2019-07-29 18:03:44 · 1871 阅读 · 0 评论 -
Qt读取数据量多的xml文件(ts文件)
/ xml文件截取内容<message>**<source>Test Source</**source><translation>测试</translation><extra-contents_path>Test</extra-contents_path>通过下面loadxml函数解析后数据如下:+:...原创 2019-08-17 09:46:04 · 884 阅读 · 0 评论 -
Qt lupdate/lrelease
使用Qt lupdate更新ts文件1.Qt lupdate 生成ts文件使用下面的命令更新ts文件:lupdate search_autoComple.pro -ts res_language_chinese.ts工作原理:使用Qt在代码中调用: tr(“xxxx”),如下:tr("English");tr("Test", "wubw1");tr("Test", "wubw2");...原创 2019-08-17 10:43:22 · 3593 阅读 · 0 评论 -
QString解析
(1)去掉字符串前后的空格(2)根据实际情况截取数据比如: “System Timezone --> /datetime/System Timezone”截取前面的一段:value.section(’-’, 0, 1).remove(’-’).trimmed();结果: “System Timezone”截取后面的一段:value.section(’>’, 1, -1)...原创 2019-09-03 20:32:54 · 1042 阅读 · 0 评论 -
Qt中文字符串排序
#include <QCollator>struct caipin{double price;QString name;};QList AddData::chinsesStringSort(QList list){QList<QString> resultList;QLocale cn(QLocale::Chinese);QCollator collat...原创 2019-09-18 17:55:16 · 3227 阅读 · 2 评论 -
Qt页面在桌面上模拟模态显示
说明:获取到键盘,鼠标的焦点,将这两个焦点设置新界面上#include <QWindow>QWidget *m_dialog = new QWidget;this->setWindowFlags(Qt::WindowStaysOnTopHint);this->setMinimumSize(400, 180);this->setSizePolicy(QSiz...原创 2019-09-23 11:48:23 · 530 阅读 · 0 评论 -
QPainter抗锯齿
抗锯齿:QPainter painter(this);painter.setRenderHint(QPainter::SmoothPixmapTransform);painter.translate(0, 0);//加载图片不能设置宽,高,否则通用出现拉伸painter.drawPixmap(0, 0, QPixmap(":/datetime/icons/dcc_clock_black....原创 2019-09-28 19:39:32 · 5581 阅读 · 0 评论 -
std::bind
1.获取Qt进程退出QCoreApplication::closingDown()2.std::bindstatic int TestFunction(const QString &url, QPointer baseObject){//增加判断主进程是否退出if (!baseObject || QCoreApplication::closingDown()) {retur...原创 2019-09-28 21:28:43 · 344 阅读 · 0 评论 -
Qt常用智能指针
1.QPointerQPointer属于Qt对象模型的特性,本质是一个模板类,它为QObje提供了guarded pointer。当其指向的对象(必须是QObject及其派生类)被销毁时,它会被自动置NULL,原理是其对象析构时会执行QObject的析构函数,进而执行QObjectPrivate::clearGuards(this);,这也是基于其指向对象都继承自QObject的原因。使用场景...原创 2019-07-08 17:19:49 · 877 阅读 · 0 评论 -
Qt中递归锁的使用
1.在基类中定义整个进程中唯一的一把递归锁(xx.h)//定义宏,去调用递归锁#define CUTEVIEW_MUTEX_LOCKER(mutex_ptr) QMutexLocker locker(mutex_ptr)class CMutex : public QObject{Q_OBJECTpublic:explicit CMutex(QObject *parent=0);QM...原创 2019-06-21 12:25:42 · 1326 阅读 · 0 评论 -
Qt读写配置文件
1.声明一个QSetting对象QSettings *m_psetting = nullptr;2.设置Config.ini路径QString configFileName = QCoreApplication::applicationDirPath() + “/Config.ini”;3.根据Config.ini路径newQSetting对象m_psetting = new QSett...原创 2019-06-20 11:03:45 · 7961 阅读 · 1 评论 -
Qt qml画斜线(连接两点成为线段)
将以下代码放入一个qml文件中,然后调用这个控件输入两个点即可实现方法:1、将qml中的矩形width设置为4分像素2、根据输入的两个点的坐标计算角度(draw)3、以qml中的矩形height为线段,以矩形的左上角为原点,进行角度旋转=================================================================import QtQu...原创 2019-02-21 13:30:24 · 6515 阅读 · 1 评论 -
Qt加载字体库
Qt加载字体库遇到的问题:freescale i.Max的板子,在将Qt进程跑起来的时候,不能识别中文,凡是遇到有中文的地方就是空白的解决办法:在网上下载支持中文的字体库,然后放入到Qt中,最终顺利解决字体下载请在网上查以下为相关代码#include &lt;qtextcodec.h&gt;#include //load fontQTextCodec::setCodecForLo...原创 2019-02-21 11:28:15 · 3051 阅读 · 1 评论 -
Qt编译时出现问题:Warning:File ‘qml.qrc’ has modification time 21363s in the feture
Qt中某个文件在未来世界会被修改原因:qml.qrc文件创建时间与目标平台时间不一致,通常在Windows写的代码,拷贝到Linux后,再编译可能会遇到该问题解决办法:找到出问题的文件touch qml.qrc即可同步时间...原创 2019-02-20 22:48:22 · 775 阅读 · 0 评论 -
Qt中线程的使用
12 Qt中线程的使用12.1 继承run()启动新线程(1)类继承: public QThread(2)继承基类虚函数:virtual void run();(3)子类重载run()函数:void duerOSFunctionRun::run(){}说明:只有run()函数是在子线程中,其他的函数依旧在主线程(3)启动子线程SDuerOSFunctionRunUtility:...原创 2019-02-20 22:42:43 · 1073 阅读 · 0 评论 -
Linux Qt-5.12.1静态编译
1 Linux Qt-5.12.1静态编译声明:以下仅为个人经验,若有错误地方望指正1.1 下载Qt-5.12.1源码下载网站:https://download.qt.io/archive/qt/5.12/5.12.1/single/下载qt-everywhere-src-5.12.1.tar.xz的压缩包,参照本文档第4项解压1.2 确认make存在(1)使用 make -v 查看m...原创 2019-02-20 22:24:32 · 5219 阅读 · 1 评论 -
QT将xxx.bin文件转化为图片
QT将xxx.bin文件转化为图片转化方法具体实现转化方法1、先将xxx.bin文件的路径转化成QString;2、用将QString赋值给QFile,然后打开QFile文件;3、将文件读取到QByteArray中;4、将QByteArray赋值给QImage;5、使用QString指定一个存储QImage的路径;6、将QImage保存在QSting指定的路径。声明:转化bin文件...原创 2019-02-20 21:56:19 · 1942 阅读 · 0 评论 -
C++ 虚函数、纯虚函数
1.虚函数#include &lt;QDebug&gt;class Animal{public:virtual void animal();}void Animal::animal(){qDebug()&lt;&lt;“What is the animal”;}当基类函数为虚函数时,必须要实现这个虚函数,否则会报下面的错误即要实现基类Animal的animal函数cla...原创 2019-03-04 16:50:14 · 221 阅读 · 0 评论 -
Qt QML简单使用
以下都是个人使用记录,想到哪写到哪,仅供个人使用1.定义数组property var titles: [“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”]2. 定义信号定义信号:signal notifyback()发送信号:xxxid.notifyback()3.阻止点击到下面的页面/控件上去在所有控件代码的最上面加入:MouseArea{anch...原创 2019-03-04 18:23:14 · 875 阅读 · 0 评论 -
Qt 5.12.2使用opengl编译
问题描述:有很多项目在xx.pro文件里面,都是用的下面的方法添加opengl的库:LIBS += -lglut -lGLU但是经实测依旧会报错:/usr/bin/ld: cannot find -lglut解决方法:LIBS = -lGL -lGLU...原创 2019-05-06 16:32:18 · 1878 阅读 · 0 评论 -
undefined reference to symbol 'dlclose@@GLIBC_2.2.5'(Qt 调用静态库从mac换到ubuntu 16.04.10报错)
说明在pro文件里面使用:LIBS +=-L$$PWD/Qssh/lib -lQSsh这样写的时候在mac上可以正常运行,但是在ubuntu上运行就会报错(libQSsh.a请自行换成linux版本的)Issies编译器输出/usr/bin/ld: /home/archermind/Desktop/baidu/cute_view/Qssh/lib/libQSsh.a(botan.o): ...原创 2019-05-20 16:58:31 · 3598 阅读 · 6 评论 -
Qt error: reference to ‘connect’ is ambiguous
描述Qt同时继承QWidget与QWindow的时候,编译会报错。在Qt Widgets应用程序中,还有Qt Quick应用程序。二者不能同时直接并存,只能二选一。解决方法在Qt Widgets应用程序中嵌入QWindowQWidget *QWidget::createWindowContainer(QWindow *window, QWidget *parent=0, Qt::Wind...原创 2019-05-23 14:56:11 · 2864 阅读 · 0 评论 -
Qt播放本地目录的图片
主要功能函数说明1.获取手动打开的本地目录//将取到的目录传给子线程QString directory = QDir::toNativeSeparators(QFileDialog::getExistingDirectory());if (directory.isNull()) {return;}SPlayerPictureThread::getInstance().requestS...原创 2019-05-28 15:05:22 · 1135 阅读 · 0 评论 -
Qt中一个socket对象只能在同一个线程使用
Qt在不同线程使用socket报错:QObject: Cannot create children for a parent that is in a different thread.(Parent is QTcpServer(0x1538a748), parent’s thread is QThread(0x15380578), current thread is QThread(0x15...原创 2019-03-02 16:30:59 · 2371 阅读 · 0 评论