Qt
文章平均质量分 67
m沉默01
软件开发
展开
-
Windows下Qt编译MySQL驱动
学习Qt,用到数据库,就选了MySQL。系统:windows 7数据库:MySQL5.0(32位)Qt版本:Qt 4.8.4原创 2015-09-14 22:46:21 · 841 阅读 · 0 评论 -
QT “Timers can only be used with threads started with QThread”的解决办法~
在做多线程的时候遇到这样的问题,提示“Timers can only be used with threads started with QThread”。问题描述:在子线程中需要用到一个定时器,刚开始是这样写的,报错了:MyThread::run(){ readTimer = new QTimer(); readTimer->setInterval(2000);原创 2016-02-18 17:21:49 · 23189 阅读 · 3 评论 -
Qt Creator调用C语言编译的.So动态库
帮别人做个项目,有个传感器必须用到卖家提供的动态库。动态库是libS8.so,头文件是s8.h。 刚开始做的时候,使用QLibrary进行加载这个动态库,发现始终加载不到,带着郁闷去问了卖家~结果他们说搞这个产品的工程师离职了,这实在太坑了。 没办法,我只能自食其力了,上度娘找找~资料倒是挺多的,在Qt Creator中调用C语言编译的动态库文件却很少。好歹找到了个方法,说是必原创 2016-03-23 10:40:08 · 7311 阅读 · 0 评论 -
Qt之QTableWidget详细使用
一、QTableWidget简介QTableWidget是QT对话框设计中常用的显示数据表格的控件。QTableWidget继承于类QTableView,所以在学习QTableWidget之前可以先看一下QTableWidget,他们两者的区别是:QTableView可以使用自定义的数据模型来显示内容(也就意味着使用时先要通过setModel来绑定数据源),而QTableWidget则只能原创 2015-12-31 16:54:04 · 61737 阅读 · 4 评论 -
Ubuntu安装完Qt后报错error: cannot find -lGL解决办法
我用的Ubuntu系统有Ubuntu12.04以及Ubuntu15.10都碰到过这个问题,安装完Qt以后,运行程序的时候都会报错::-1: error: cannot find -lGL 之前在网上有看到解决办法,也都解决了,但是每次出错的时候还得重新去找,还是自己记录一下比较好。解决办法:输入以下命令中的其中一个都能解决这个问题。sudo apt原创 2016-03-25 11:31:38 · 2905 阅读 · 0 评论 -
发布Qt Widgets桌面应用程序的方法
发布Qt Widgets桌面应用程序的方法本文转载自http://blog.csdn.net/gamesdev/article/details/50440575Qt是一款优秀的跨平台开发框架,它可以在桌面、移动平台以及嵌入式平台上运行。目前Qt 5介绍程序发布的文章帖子比较少。大家又非常想要知道如何发布Qt应用程序,于是我花了一点儿时间介绍一下如何发布Qt桌面应用程序。首先我们转载 2016-03-15 10:14:38 · 1773 阅读 · 0 评论 -
QT之ODBC操作Excel的解决方案
公司的一个测试程序,需要导出一些数据到Excel中。最初想到的是利用AxObject来实现,但好像对于我来说并没有找到什么好的解决方案,于是换成了ODBC操作Excel的方案。这是有原因的,因为当初QT使用SQL Server数据库的时候,我选择的就是利用ODBC实现的,相对来说比较熟悉。 QT的版本为:QT 5.3.1 开发环境:windows7 64位原创 2016-04-14 15:07:59 · 5265 阅读 · 4 评论 -
OK6410之Qt移植全过程记录
使用OK6410开发板移植过Qt程序很多次了,也碰到了非常多问题,其中大部分在网上都能找到解决办法,剩下的一部分在自己的摸索下也能够解决,还有个别问题试了很久也没找到办法,只能暂时跳过。虽然现在对Qt移植的过程挺熟悉的,但时间久了还是容易忘记,放在博客上面不仅在需要的时候能够马上回顾,也希望能够给需要的人提供一点帮助。 开发板:OK6410-A 2G 交叉编译环原创 2016-04-15 10:52:15 · 3321 阅读 · 1 评论 -
This application failed start because it could not find or load the Qt platform plugin "windows in"
用QT5.7编译的程序在Win7上正常运行,打包后放到Win10报错,错误提示“This application failed start because it could not find or load the Qt platform plugin "windows in"”。网上似乎解决的办法不少,但用起来总是无法达到效果,综合了几个方法,总结出一个可行的办法:1、用Qt打包工具de原创 2016-07-13 08:55:36 · 5589 阅读 · 1 评论 -
Qt之国际化
Qt中的国际化的方法有很多,常用的有使用QTextCodec类和使用tr()函数。前者将编码名称写到代码里面,除非你使用Unicode编码,否则国际化依然是一个问题;后者就不会有这个问题,并且这也是Qt推荐的做法。因此,我们主要来说使用tr()函数的方法进行应用程序的国际化。接下来讲解一下Qt国际化实现步骤:一、创建一个QMainWindow用来测试,界面只有两个按钮,很简单!二、在项目工程文件原创 2016-07-04 09:29:47 · 622 阅读 · 0 评论 -
Ubuntu12.10中打开Qt creator,提示无法覆盖文件 /home/xxx/.config/Nokia/qtversion.xml : Permission denied解决办法
打开Qt creator,提示无法覆盖文件 /home/xxx/.config/Nokia/qtversion.xml : Permission denied ,要不断点好几次确定之后才能进去。退出的时候显示无法覆盖文件 /home/xxx/.config/Nokia/toolChains.xml : Permission denied。实际上解决方式是改变主目录下.config的转载 2016-07-04 15:42:58 · 1291 阅读 · 1 评论 -
Ubuntu12.04下安装Qt4.8.1
之前在编译Qt 4.4.3的时候卸载掉了Qt Creator,结果今天再安装的时候说没有可以执行的qmake-qt4,虽然说可以直接下一个可以执行的sdk,但我还是想体验一下安装Qt 4.8.1的过程(因为Qt Creator上默认的是4.8.1,选其他更好)。1、下载Qt 4.8.1安装包 下载目录在:http://download.qt.io/archive/qt/4.8/4.原创 2015-09-04 15:42:49 · 2027 阅读 · 0 评论 -
Qt之大文件获取MD5值
在Qt中,QCryptographicHash类提供了生成密码散列的方法。该类可以用于生成二进制或文本数据的加密散列值。目前支持MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。这个类在QtCore4.3中被引入。 小文件内容加密的时候,直接将文件内容传进入加密即可,但遇到大文件的时候这样的办法需要优化。思路就是:在循环中不停读文件,读到一原创 2016-08-18 17:18:04 · 5521 阅读 · 1 评论 -
Qt 4.8.4中文显示问题
问题描述 因为项目需要,重新用上了Qt 4.8.4,在之前的一段时间内,我一直是在使用Qt 5。实际上,本来项目是要使用Qt 5的,但是遇到几个莫名其妙的问题,解决办法繁琐,不利于后期项目的部署,所以采用Qt 4.8.4。 好的,回归正题,使用的过程中碰到了老问题:Linux环境下中文显示问题。这个问题其实碰到很多次了,每次还得去网上找解决办法,还是自己记录一下,这样以原创 2016-05-26 11:04:15 · 3002 阅读 · 0 评论 -
Qt之获取运行程序的工作目录与程序所在的目录
在qt-creator中debug的时候,发现程序不能读写所在目录的配置文件,资源文件。Google了一下,原来 运行程序的 工作目录 与 程序所在的目录是不同的概念。跑跑这段代码就知道了:qDebug()<<"current applicationDirPath: "<<QCoreApplication::applicationDirPath();qDebug()原来cur转载 2016-08-23 15:12:34 · 30534 阅读 · 1 评论 -
QT之防止程序重复运行方法
最近在做一个项目,添加了一个功能:防止一个程序能够重复启动。包括Windows平台和Linux平台,其中Q_OS_WIN32宏用来表示编译运行的目标平台是windows,Q_OS_LINUX则标示目标为linux。实现的思想是:对windows和linux分别采取了全局互斥变量和文件锁的方法。实现方法:#if defined Q_OS_WIN32 //for win#incl原创 2016-02-02 10:12:27 · 6701 阅读 · 2 评论 -
Qt之QSS使用
CSS,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。 借用CSS的灵感,原创 2016-01-13 14:38:28 · 14673 阅读 · 2 评论 -
Qt之拦截关闭窗口的QCloseEvent简单使用
在平常使用软件的时候,常常能遇到这样的情况:点击关闭选项后,程序没有马上退出,而是跳出一个对话框,问你是否确定退出软件?在Qt中同样提供了一个函数来实现这个功能,那就是QCloseEvent它的具体定义是这样的:void QMainFrame::closeEvent ( QCloseEvent * event ) [virtual protected] 实际上它就是一个虚函原创 2016-01-12 17:27:26 · 18590 阅读 · 0 评论 -
OK6410与GPRS连接实现与PC机通信,Qt移植
我用到的GPRS模块是SIM300A,采用的是TCP连接,UDP只支持一对一通信。 工具:网络调试助手http://download.csdn.net/detail/u010780613/9153089点击打开链接 需要做一个项目,实现OK6410充当网关,然后通过GPRS将数据发送到PC机中。用GPRS的话PC机的IP必须是公网IP,不然找不到。原创 2015-10-02 17:36:32 · 1635 阅读 · 0 评论 -
QT4 WebView控件使用简单总结
WebView控件使用起来确实方便,拉个控件就是一个简单的浏览器~第一次使用,碰上了一些问题,参考了大神的解答,解决了问题。碰到问题:QSslSocket: cannot call unresolved function SSLv23_client_methodQSslSocket: cannot call unresolved function SSL_CTX_newQS原创 2015-11-22 15:55:52 · 10822 阅读 · 1 评论 -
Qt Creator中常用的快捷键总结
转自http://www.cnblogs.com/lzjsky/archive/2012/08/20/2647558.htmlF1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5转载 2015-11-24 14:26:53 · 703 阅读 · 0 评论 -
Qt Quick简单教程
本文转载自http://blog.csdn.net/foruok/article/details/28859415博主写的非常好,果断转载过来,继续学习,感谢!!!!首先看一下main.qml 文件:现在我们结合 main.qml 文件来讲解。import 语句 main.qml 文件第一行代码:import QtQuick 2.转载 2015-12-15 11:01:06 · 2640 阅读 · 0 评论 -
QML之SpinBox使用
在Qt Widget中有SpinBox和DoubleSpinBox,而QML中只有SpinBox,很明显Qt Widget中DoubleSpinBox的能力也被弄到SpinBox当中。这个时候,可以打开助手找到SpinBox:挑出一些重要的属性:decimals :小数位数、prefix :前缀、suffix :后缀、stepSize :每一步的大小、value :默认值等。原创 2015-12-30 10:59:49 · 6862 阅读 · 0 评论 -
Qt Creator在windows平台下显示中文问题
Qt Creator在设计器中直接将按钮命名为中文时,运行后可以正常显示中文。但是通过代码设置时就会出现乱码,比如:碰到这样的问题,解决的办法是:1、在主函数main.cpp中添加QTextCodec#include #include "mainwindow.h"#include int main(int argc, char *argv[]){ QA原创 2015-11-30 22:04:32 · 2986 阅读 · 0 评论 -
Qt之串口类QSerialPort使用笔记
本文转载自:http://blog.csdn.net/liyuanbhu/article/details/45540825虽然现在大多数的家用PC机上已经不提供RS232接口了。但是由于RS232串口操作简单、通讯可靠,在工业领域中仍然有大量的应用。Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便。现在好了,在 Qt5.1 中提供了QtSerialPort模转载 2016-01-22 10:36:29 · 13811 阅读 · 2 评论 -
QML之不显示标题栏、边框
我使用的Qt版本是Qt 5.3.0,Qt Creator 是3.1.1.QML做界面实在太方便了,动画效果很不错。创建一个Qt Quick应用程序:.pro是工程文件,.pri用来保存头文件,main.qml就是QML文件了,main.cpp就不用说了。看一下自动产生的main.cpp文件:#include #include int main(int ar原创 2015-12-22 10:14:18 · 10548 阅读 · 2 评论 -
Qt之简单使用Json
关于Qt中的Json的基本知识,可以阅读之前的文档。Qt之认识JSON首先,先贴上代码:#include #include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); /*生成Json*/ QJsonObject json原创 2015-12-23 10:51:20 · 4317 阅读 · 1 评论 -
Qt之自定义属性Q_PROPERTY
QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property];QT的强大之处在于它可以支持任何标准的c++编译器。 QT是基于 Meta-Object System(元对象)和signals and slots(信号槽)的。Q_PROPERTYQ_PROPERTY()是一个宏,转载 2015-12-23 14:52:00 · 9701 阅读 · 0 评论 -
Qt控件颜色面板类Qpalette
QPalette类提供了绘制QWidget控件时使用的颜色。控件的颜色状态分三种:(1)Active,激活状态(2)Disabled,禁用状态(3)Inactive,未激活状态控件在这三种不同的状态下具有不同的颜色值,QPalette类管理这三组颜色,它根据这三种状态分为三组颜色,每一组颜色都根据绘图角色的不同分类。系统在绘制控件时使用这些颜色,程序员可以改变这些设置。转载 2015-12-07 11:44:49 · 1023 阅读 · 0 评论 -
Qt之QThread详解
一、线程管理1、线程启动void start(Priority priority = InheritPriority)调用后会执行run()函数,但在run()函数执行前会发射信号started(),操作系统将根据优先级参数调度线程。如果线程已经在运行,那么这个函数什么也不做。优先级参数的效果取决于操作系统的调度策略。特别是那些不支持线程优先级的系统优先级将会被忽略(例如在转载 2015-12-24 11:02:39 · 5349 阅读 · 0 评论 -
Qt之QSettings的简单使用
一、利用QSettings能够读取配置文件.ini的信息,并能够写入。配置文件(.ini):[config]array1=0101*0102*0103*0104*0105*0106*0107*0108array2=0201*0202*0203*0204*0205*0206*0207*0208array3=0301*0302*0303*0304*0305*0306*0307*0308原创 2015-12-09 11:41:29 · 2005 阅读 · 0 评论 -
Qt学习之parent参数
这是一篇很简单的文章,仅仅是用来说明一下一个参数的作用,因此我把它写成了tip,而不是接下来的17.程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数。这个参数通常是QObject* 或者是 QWidget* 类型的。很多情况下它都会有一个初始值0,因此,即便你不去给它复制也没有丝毫的问题。于是,稍微偷懒一下,就会不自觉的忽略了这个参数。那么,这个参数到底是干什么用转载 2016-01-11 10:19:09 · 968 阅读 · 0 评论 -
Qt之认识JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它比XML还小巧。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。关于Qt中对JSON的生成与解析,原创 2015-12-23 09:47:19 · 1435 阅读 · 2 评论