Qt
lsfreeing
这个作者很懒,什么都没留下…
展开
-
QtCreator使用NVIDIA显卡下假死问题
现像:打开项目或编辑等出现假死情况解决方法:NVIDIA控制面板->3D设置->管理3D设置->程序设置,将Qt Creator单独强制设置为集成显卡。不影响全局设置,其他app仍能使用高性能显卡。...原创 2022-02-21 09:56:55 · 1972 阅读 · 1 评论 -
ubuntu18.04安装qt启动qtcreator报错qt.qpa.plugin:Could not load the Qt platform plugin “xcb“
现像:qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plu原创 2022-02-18 13:23:58 · 467 阅读 · 0 评论 -
Qt 元对象系统--Moc文件解析
几篇文章 ,供参考详细分析Qt中moc文件2.MOC文件解读(上)——MOC文件中的数据_3.MOC文件解读(下)——MOC文件中的函数原创 2021-12-02 19:18:11 · 1396 阅读 · 0 评论 -
Q_FOREACH foreach 使用注意事项
原文地址:https://www.kdab.com/goodbye-q_foreach/Q_FOREACH(有时也会被称为foreach)将在不久的将来被废除,有可能是在 Qt 5.9。从 Qt 5.7 开始,你可以使用QT_NO_FOREACH宏定义来确保代码中没有依赖Q_FOREACH。【译注:这里应该是说,在 .pro 文件中添加DEFINES += QT_NO_FOREACH定义】你可能想知道为什么这么大惊小怪。为什么针对 Qt 使用 C++11 的范围for循环替换掉Q_FOREACH会提转载 2021-05-20 11:02:46 · 1731 阅读 · 0 评论 -
Qt QML文档部分关键字
keyword: QML文档,文档关键字使用Qt,最权威的资料当数qt官方帮助文档了,相对来说是“最一手”的资料。但有时想要概览某个模块又记不清对应模块的索引关键字,记录下来用于备查。------------------------------------------------4QML语法 概览一下整个QML体系文档的一些内容The QML Referenceimport模块导入语句Import Statements导入QML文档目录Importin...原创 2021-05-15 17:21:19 · 370 阅读 · 0 评论 -
QML debugging is enabled.Only use this in a safe environment
为什么会有这个警告?由于在Qt5以上版本默认开启QML调试器造成的。用于告知用户,这将打开一个到运行QML的Javascript解释器的端口,以便从中获得调试输出。显然,这会造成一个安全漏洞,所以在不安全的地方使用时应该关闭它(在释放运行时自动关闭)。这个警告是为了提醒你这一点。注意Qt4默认不开启QML调试器,而Qt5版本以上默认开启。 如果您不使用QML,无论如何都要关闭它。 由于开启QML调试需要在TCP端口打开套接字,这存在安全风险。Internet上的任何人都可以连接到正在调试...转载 2021-05-10 16:23:41 · 914 阅读 · 0 评论 -
Windows下Qt检测移动U盘及动态插拔
windows下提供了很便捷的方式查找和动态监测U盘的插拔。windows sdk里面提供了对应api。从所有的事件中处理对应的事件即可。Device Management Events1.U盘已插入电脑的情况下。使用QDir获取所有驱动,再通过驱动类型判断和查找移动U盘。正面为关键代码段 QFileInfoList infoList = QDir::drives(); foreach(const QFileInfo& info, infoList) {原创 2020-05-08 19:30:32 · 1114 阅读 · 0 评论 -
翻译 | KDAB CEO推荐:Qt开发、调试、诊断的十大工具
本文翻译自:Modern Qt Development: The Top 10 Tools You Should Be Using原文作者:Matthias Kalle Dalheimer,KDAB集团总裁兼首席执行官校审:Richard Lin为什么在工作中使用合适的工具非常重要?大家马上会想到两个原因:效率和成效。您不会看到建筑工人用鞋底敲钉子,那为什么软件开发者经常要手动查...转载 2019-11-28 13:27:11 · 429 阅读 · 0 评论 -
翻译 | Qt for Python的技术愿景前瞻
本文翻译自Technical vision for Qt for Python - What lies ahead原文作者:Cristián Maureira-Fredes,Qt公司软件开发工程师校审: 王富涌、Richard Lin在上一篇博文中,我们介绍了Qt的下一个主要版本的技术愿景,我们觉得仅仅用一个段落描述Qt for Python并不足以涵盖我们在未来版本中考虑的所有特性...转载 2019-11-18 13:43:33 · 354 阅读 · 0 评论 -
翻译 | Qt 6技术概览
本文翻译自:Technical Vision for Qt 6原文作者:Lars Knoll,Qt公司开源项目维护官兼CTO校审:Richard Lin自从七年前Qt 5发布以来,我们的世界发生了很多变化,现在是时候展望和规划下一个主版本了。这篇博文总结了几个将要在Qt 6中亮相的关键点。Qt 6将是我们Qt 5系列的延续,因此不会对用户造成干扰。但是这个新的版本将拥有更高的灵...转载 2019-11-18 13:40:03 · 1752 阅读 · 0 评论 -
线程、事件与QObject
介绍You’re doing it wrong. — Bradley T. Hughes线程是qt channel里最流行的讨论话题之一。许多人加入了讨论并询问如何解决他们在运行跨线程编程时所遇到的问题。快速检阅一下他们的代码,在发现的问题当中,十之八九遇到得最大问题是他们在某个地方使用了线程,而随后又坠入了并行编程的陷阱。Qt中创建、运行线程的“易用”性、缺乏相关编程尤其是异步网...转载 2019-11-04 15:50:30 · 143 阅读 · 0 评论 -
主线程退出,全局静态对象析构导致工作线程访问崩溃的问题
问题现像:关闭一个窗口时,发现工作线程访问一个静态全局变量越界,最后定位到是资源已经被析构,而工作线程还在访问资源。解决方法:1.保证退出的顺序,先结束工作线程,最后结束主线程。全局静态对象析构:main函数退出后,会调用exit函数,该函数会析构静态变量。但此时其他工作线程不一定退出,访问已析构资源会出现问题参考链接:https://zhuanlan.z...原创 2019-10-15 12:11:14 · 1068 阅读 · 0 评论 -
使用Qt Creator作为Linux IDE,实现CMake编译和单步调试
原文链接https://blog.csdn.net/libaineu2004/article/details/78448392一、前期准备1、安装Linux系统,例如CentOS 7,带桌面,GNOME安装2、安装qt-opensource-linux-x64-5.9.1.run3、安装CMake,参考教程:CentOS 7安装cmake 2.8.12.2 二、新建C/C+...转载 2018-10-17 10:32:23 · 792 阅读 · 0 评论 -
基于Qssh的sftp客户端
项目需要写一个sftp的自动升级程序,查阅了下网上的一些资料,有libssh2+openssl和基于qssh等方法。之前考虑从filezilla源码中参考自己封装,考虑到时间关系就选择最快的方式了。基于qssh来封装。实现上传下载,文件列表,上传目录等基本功能,参考filezilla的功能。sftp服务器搭建,在前一篇文章中已经写过。qssh 很简单,由于是公司项目,只是稍记录下。源码需要的可...原创 2018-09-20 19:59:39 · 5691 阅读 · 20 评论 -
C++的ORM工具比较
一个参考的例子,思路可以借鉴下。https://github.com/david-pp/tiny-orm原文链接http://blog.sina.com.cn/s/blog_999d1f4c0101e12l.html 用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),...转载 2018-12-11 13:55:30 · 866 阅读 · 0 评论 -
Qt多媒体播放视频报错:DirectShowPlayerService::doRender: Unresolved error code 80040266
安装LAVFilters-0.65.exe后解决LAVFilter下载地址:http://forum.doom9.org/showthread.php?t=156191参考链接:https://github.com/qyvlik/Flat.qml/issues/4问题分析:发现装了qq影音并设置为默认播放器的时候报的是qq影音的库缺失。设置为window自带播放器之后又是报的另一...原创 2018-12-24 14:24:42 · 6172 阅读 · 3 评论 -
QThread moveToThread
一篇qt开发人员写的话题,供参考https://blog.qt.io/blog/2010/06/17/youre-doing-it-wrong/原创 2019-04-13 16:03:14 · 227 阅读 · 0 评论 -
QtGlobal中常见的一些函数和宏
<QtGlobal> 头文件包含了 Qt 类库的一些全局定义,包括基本数据类型、函数和宏,一般的 Qt 类的头文件都会包含该文件,所以不用显式包含这个头文件也可以使用其中的定义。全局变量定义为了确保在各个平台上各数据类型都有统一确定的长度,Qt 为各种常见数据类型定义了类型符号,如 qint8 就是 signed char 的类型定义,即:typedef signed ch...转载 2019-05-06 20:09:52 · 2678 阅读 · 0 评论 -
QScrollBar(滚动条)的一个完整样式记录
转载文章,仅供参考:QScrollBar:vertical//首先是设置主体{ margin:30px 0px 30px 0px; background-color:#F0F1EF; border: 0px; width:30px; }QScrollBar::handle:vertical//滑块{ background-color:#b...转载 2019-06-12 15:45:49 · 2307 阅读 · 0 评论 -
Qt SQLite加密插件QtCipherSqlitePlugin
因项目需要使用了一个三方的orm库(qxorm 基于qt),数据库驱动使用的是sqlite,开源免费的sqlite不支持加密,最终使用一个三方插件结合此orm简单修改了下源码,满足加解密的要求。基于qt库。以下为转载参考内容:SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iO...转载 2019-06-04 11:03:08 · 6882 阅读 · 3 评论 -
Qt 日历控件的美化
前言:使用qss对qt自带的日历控件进行美化。参考文档提供的示例比较少。主要方法还是通过类型选择器里面的ID选择器,eg. QPushbutton#okButton。但这么操作的前提是得知道日历控件到底有多少objectName。可以获取对象的所有子控件类型并得到对象名。找到一篇文章,写的相对清晰。剩下的就只剩细节了。以下为转载部分:QCalendarWidget 是一个比较复杂的 ...转载 2019-06-12 13:59:13 · 6310 阅读 · 2 评论 -
Qt::FramelessWindowHint导致对话框无法居中及Qt::QWidget的geometry()函数的测试
1.问题需要对弹出的对话框相对进行居中,但无边框对话框正常显示会导致偏差了几个相素。于是手动move的方法。大概代码如下。思路是通过获取当前窗口父窗口原点位置计算子窗口的偏移move达到居中的效果。然后在过程中发现了geometry()返回的值x,y比较怪异。void AlignCenter(QWidget* parent){ if (!parent) return; ...原创 2019-09-12 13:11:48 · 846 阅读 · 0 评论 -
浅谈 qmake 之 pro、pri、prf、prl文件
尽管每次和cmake对比起来,我们总是说 qmake 简单、功能少。但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧:不是太清楚CONFIG等变量到底如何起作用的用过的qmake内置变量和函数不超过20个看Qt Creator源码或者QtSolution等库中自己使用的 *.pro 文件就想看天书一样本文只能抓住一条线,简单介绍一下 *.pro、*.pri、转载 2017-08-24 18:58:49 · 227 阅读 · 0 评论 -
Qt将鼠标移动范围限定在某个区域内
一开始的思路是 setMouseTracking(true)。然后在mouseMoveEvent中做处理。QCursor::setPos(mapToGlobal(point));后面发现鼠标移动到边缘会有抖动的情况。 后面换了一种思路 ,直接用的win api 了。但不好之处就是不能跨平台。这么常用的功能Qt肯定有解决方案的,但赶时间就没去找了。参考如下:RECT mainRec...原创 2018-07-30 19:01:30 · 6712 阅读 · 2 评论 -
Qt64位ODBC读取Excel:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
问题现像:同一份代码,32位Qt编译的能正常读写excel,64位则出现 [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 系统环境:Win7 64位,Qt64bit 问题原因:网上百度的解答很多。说下自己的理解,windows本身是自带excel或access 驱动的,也就是说不用再配置系统参数直接可读取。都是odbcad32...原创 2018-07-24 18:07:05 · 2683 阅读 · 2 评论 -
Qt线程的两种使用方法
1.继承QThread,重写run函数2.继承QObject使用多线程供参考的两篇博文,写的相对比较详细https://blog.csdn.net/czyt1988/article/details/64441443/https://blog.csdn.net/czyt1988/article/details/71194457...原创 2018-07-16 15:22:27 · 2091 阅读 · 0 评论 -
Qt父子对象的delete关系
文中代码已测试过原文地址:http://www.cnblogs.com/foxhengxing/archive/2010/12/24/1916355.html很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父 子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当转载 2018-01-12 18:51:05 · 732 阅读 · 0 评论 -
VS,QtCreator调试进Qt源码
有时需要进入查看和调试源码,这样更加有助于理解。Qt安装包默认安装时没有安装源码选项,需手动勾选Source安装选项。在已码已安装情况下:vs+qt以VS2015为例,其他版本类似。点击解决方案右键->属性->通用属性->调试源码文件。将Qt源码路径加入即可。 e.g C:\Qt\Qt5.9.1\5.9.1\SrcQtCreator点击顶部菜单栏->工具->选项->调试器->概要->源码路径映射->原创 2017-12-01 18:44:18 · 3605 阅读 · 0 评论 -
make makefile cmake qmake
在qt新建工程定义构建系统可选择cmake 或qmake。转自知乎回答1make 是用来执行Makefile的Makefile是类unix环境下(比如Linux)的类似于批处理的”脚本”文件。其基本语法是: 目标+依赖+命令,只有在目标文件不存在,或目标比依赖的文件更旧,命令才会被执行。由此可见,Makefile和make可适用于任意工作,不限于编程。比如,可以用来管理latex。Makefi转载 2017-09-03 09:41:35 · 387 阅读 · 0 评论 -
qmake、pro文件、pri文件和makefile文件的功能及它们之间的关系
qmake、pro文件、pri文件和makefile文件的功能及它们之间的关系提到Pro文件和Pri文件,要先提到qmake工具。在进行Qt开发时,qmake工具是与Qt一起提供的,用来编译Qt本身,并生成Qt自带的工具和例子。在开发Qt的过程中,qmake生成的工程文件(pro文件)用于编译应用程序和插件,可以说qmake的主要目的是生成pro文件的makefile。转载 2017-08-31 09:57:36 · 917 阅读 · 0 评论 -
Qt Pro 文件配置
简述配置注释CONFIGDEFINESDEPENDPATHFORMSHEADERSINCLUDEPATHLIBSMOC_DIROBJECTS_DIRQTRCC_DIRRESOURCESRC_FILERC_ICONSSOURCESTARGETTEMPLATERANSLATIONSUI_DIR简述 使用Qt的时候,我们经常会对pro进行一系列繁琐的配置,以下为转载 2017-08-06 15:19:30 · 457 阅读 · 0 评论 -
Qt5.9.1 + VS2015 + QtCreator 环境搭建
搭建VS2015 + 5.7.1的一些问题、1.默认的官方发布的release已经不支持xp。如需要支持xp,需要自行编译(自行编译的版本已存百度云盘,5.7.1(x86版本)。qt5.8以上版本没找到支持xp的编译选项)2.快捷找出打包需要的运行库文件 e.g 编译程序所在路径为 D:/project/example/1.exe> D:>cd D:/project/e原创 2017-06-11 20:18:32 · 20673 阅读 · 3 评论 -
Qt pro文件配置多个子工程/子模块
简述效果多工程多模块简述进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。 配置效果多工程如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。配置如下:配置TEMPLATE为subd转载 2017-08-01 23:47:13 · 1619 阅读 · 0 评论 -
Qt槽连接
根据文档中说明,系统会对所有给定的子对象进行递归检索,并连接依据以下命名规则的对象的槽函数和信号函数1.槽函数自动连接命名规则void on__(); 就会自动将object name中的信号signal name和这个槽链接起来。 e.g QPushButton子对象button1发出clicked()信号void on_button1_clicked()原创 2017-06-11 20:45:03 · 498 阅读 · 0 评论 -
Qt内存泄漏的一些分析
原文地址http://blog.csdn.net/taiyang1987912/article/details/29271549一、简介 Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系。在 Qt 中,在 Qt 中,删除父对象会将其子对象一起删除。转载 2018-01-12 18:54:32 · 418 阅读 · 0 评论 -
Qt Designer优化布局结构
原文链接 http://blog.csdn.net/qter_wd007/article/details/5377882在迄今为止讲到每一个例子中,我们只是简单的把窗口部件放置到某个确定的布局中。但在某些情况下,由此形成的布局看起来可能还不是我们最想要的形式。在这些情形中,可以通过改变要摆放的窗口部件的大小策略和大小提示来调整布局。1.大小提示(size hint)和最小大小提示(转载 2018-01-25 20:57:55 · 1901 阅读 · 0 评论 -
qss编辑工具
QSS Editor https://sourceforge.net/projects/qsseditor/Kineticwing IDE http://kineticwing.com/downloadRizek Qss Editor https://sites.google.com/site/myrizek/rizek-qss-editor原创 2018-02-02 17:26:44 · 616 阅读 · 0 评论 -
QT与Python混合编程
参考链接:http://www.cnblogs.com/jiaping/p/6321859.htmlhttps://blog.csdn.net/column/details/19102.html1、如何embedding python,Python文档中有专门一章阐述https://docs.python.org/3.5/extending/embedding.htm;1、库文件:在vs--c/c...转载 2018-06-05 17:53:05 · 1525 阅读 · 0 评论 -
qss界面美化
Qt做界面主要有两种方式,一种是widget + qss + 自绘自定义控件,一种是qml。技术选型用的widget。一直功能写的比较多,对界面美化做的少。参考了网上的一些文章,总有些介绍不全面。还是很多细节做不到想要的效果。最好的学习资料是官方文档。参考关键字:Qt Style SheetsThe Style Sheet SyntaxQt Style Sheets ReferenceQt Sty...原创 2018-06-03 22:22:24 · 2179 阅读 · 0 评论 -
Qt中QEvent和信号槽的区别
仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可。但有一项区别在 于,事件处理函数的返回值是有意义的,我们要根据这个返回值来确定是否还要继续事件的处理,比如在QT中,事件处理函数如果返回true,则这个事件处理 已完成,QApplication会接着处理下一个事件,而如果返回false,那么事件分派函数会继续向上寻找下一...转载 2018-05-13 17:56:41 · 4825 阅读 · 3 评论