Qt
文章平均质量分 61
king7511
这个作者很懒,什么都没留下…
展开
-
QT 多线程程序设计
QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些转载 2014-08-14 15:09:23 · 712 阅读 · 1 评论 -
Qt4升级Qt5的常见问题
Qt 5 编译问题: 新增QtWidgets模块· 头文件包含,代替原有的 等。.pro文件中Qt += widgets 新增QtWetKitWidgets模块· 头文件包含.pro文件中Qt += webkitwidgets 'WFlags' : is not a m转载 2014-07-01 17:03:35 · 1623 阅读 · 0 评论 -
Qt源码分析之信号和槽机制
Qt的信号和槽机制是Qt的一大特点,实际上这是和MFC中的消息映射机制相似的东西,要完成的事情也差不多,就是发送一个消息然后让其它窗口响应,当然,这里的消息是广义的说法,简单点说就是如何在一个类的一个函数中触发另一个类的另一个函数调用,而且还要把相关的参数传递过去.好像这和回调函数也有点关系,但是消息机制可比回调函数有用多了,也复杂多了 MFC中的消息机制没有采用C++中的虚函数机制,原翻译 2014-07-23 13:05:31 · 634 阅读 · 0 评论 -
Qt多国语言国际化
Qt自己提供了一种国际化的方案,而不是采用INI配置文件的方式。使用QString,QTranslator等类和tr()函数能够很方便的完成加入国际化的支持,原创 2014-07-22 10:31:46 · 881 阅读 · 0 评论 -
QT QTableView用法小结
QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格:一 添加表头 //准备数据模型 QStandardItemModel *student_model = new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(转载 2014-05-27 17:09:49 · 624 阅读 · 0 评论 -
QSettings
qt4.0一个非常有用的类QSettingsQSettings是qt4.0提供的一个读取配置文件的类,在windows平台,它提供了ini文件读些,注册表读写的功能。而且使用也非常简单。大家可以参照它的示例:$QTDIR/examples/tools/settingseditor我就简单点随便介绍介绍它的使用吧QSettings::Format有两种:QSettings转载 2014-05-26 13:43:43 · 668 阅读 · 0 评论 -
qt QSettings 用法总结
用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是recent files,等等这些都可以通过Qsettings来实现。 我们知道,这些settings一般都是存在系统里的,比如windows一般都写在系统注册表或者写INI文件,mac系统一般都在XML文件里,那么按照一般的标准来说,许多应用程序是用INI文件来实翻译 2014-05-26 13:38:13 · 775 阅读 · 0 评论 -
Qt数据库总结
#include QT += sqlQSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录第一:QSqlDatabase类QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 采用QSQLITE数据库,QMYSQL数据库有问题?db.se转载 2014-05-26 11:05:03 · 802 阅读 · 0 评论 -
QTextEdit 怎样让写入的字符串不换行啊
我们在QTextEdit里面追加写入字符串,例如:QTextEdit *textEdit=new QTextEdit(this);textEdit->append("A");textEdit->append("B");在追加字符串"B"时,B在第二行,怎样让B在A的后面,像AB这样???小女子不会,求大侠不吝赐教!!原创 2014-06-26 10:12:29 · 14951 阅读 · 1 评论 -
QPainter基础
QPainter、QPaintEngine、QPaintDevice組成了Qt的繪圖系統(The Paint System),QPainter 提供低階的繪圖API,在內部使用QPaintEngine作為介面,在QPaintDevice進行繪圖,只要是QPaintDevice的子類別,就可以建立QPainter在其上進行圖形繪製,像是QWidget、QImage、QPicture、QPrint原创 2014-06-13 11:46:29 · 874 阅读 · 0 评论 -
Ubuntu12下嵌入式Qt开发环境配置总结
本文以友善之臂的Mini6410嵌入式开发板为目标板,介绍ubuntu 12.04系统下,配置嵌入式Qt开发工具的过程。原创 2014-08-11 21:40:19 · 1298 阅读 · 0 评论 -
QTreeview 选中后 branch区域背景为高亮的橙色.
//如果设置 show-decoration-selected:1会导致点击选中后,前面branch区域背景为高亮的橙色.ui->treeView->setVerticalScrollBarPolicy ( Qt::ScrollBarAlwaysOff ) ; ui->treeView->setStyleSheet( \原创 2014-08-12 10:28:40 · 2271 阅读 · 0 评论 -
在Qt中用QAxObject来操作Excel
最近写程序中需要将数据输出保存到Excel文件中。翻看《C++ GUI Programming with Qt 4》(Second Edition)发现可以在Qt中运用ActiveX控件,这真是太好了。 看了很久教程也没有学会,毕竟是新手,平时也没学过ActiveX编程。一些在VB中可以方便使用的函数在Qt中都没法儿运行。网上的方法也很多解决不了问题,还会报错。也许是版本问题吧,翻译 2014-07-15 10:33:50 · 1100 阅读 · 0 评论 -
Qt 5.3 正式版发布下载
Qt 5.3正式版发布了;发布会 click:(May 20th, 2014)5.3新特性:http://qt-project.org/wiki/New-Features-in-Qt-5.3下载地址:http://qt-project.org/downloads核心模块:日志功能;GUI模块:对于iOS、嵌入式linux平台的改进,新增加对PDF原创 2014-06-21 16:11:37 · 1617 阅读 · 0 评论 -
QThread的使用总结(2)
根据QT的asstant的描述,moveToThread的作用是把一个 QOject移动到一个线程里面去,那么它到底是什么意思呢。我的理解就是当我们调用QObject的moveToThread方法之后,我们这个派生自 QObject的类的代码就会在新的线程里面执行。而那篇文章所说的就是大多数对这个函数产生了误解,人们总是在派生的QThread的类的构造函数里面 调用moveToThread(thi翻译 2014-07-28 11:40:48 · 830 阅读 · 0 评论 -
QScrollBar样式
滚动条在Qt里叫做QScrollBar,使用样式设置控件的外观很方便,这里分享一下滚动条的样式设置。例如下面的树形控件的滚动条的样式翻译 2014-06-16 15:49:16 · 1572 阅读 · 0 评论 -
QThread的使用总结
#include #include #include #include class Dummy:public QObject { Q_OBJECT public: Dummy(QObject* parent=0):QObject(parent) {} public slots: void emitsig() {翻译 2014-07-24 16:30:43 · 612 阅读 · 0 评论 -
Qt中使用QSqlDatabase::removeDatabase()的正确方法
如果你用过Qt的QSqlDatabase的话,多半会对下面的警告信息感兴趣:QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, allqueries will cease to work.意思是说,还有某查询引用默认数据库连接"qt_sql_defa翻译 2014-05-30 15:08:28 · 807 阅读 · 0 评论 -
Qt TreeView的使用步骤
这篇文章讲述如何实现如下的一个treeView. 首先设置treeView的外框, 大小, model等 1 QStandardItemModel *goodsModel = new QStandardItemModel(0, 4,this); 2 3 ui.treeView_->setColumnWidth(0,50); 4 ui.treeVie翻译 2014-06-03 14:51:44 · 15325 阅读 · 1 评论 -
QT 正则表达式
1. 常用正则表达式表达式说明\r, \n代表回车和换行符\t制表符\\代表 "\" 本身\^匹配 ^ 符号本身\$匹配 $ 符号本身元字符说明.匹配除了换行符以外的任意字符\w匹配字母、数字、下划线、汉字\s匹配任意的翻译 2014-05-19 16:19:07 · 896 阅读 · 0 评论 -
qt 文件路径
在Qt论坛经常看到网友抱怨:QPixmap("dbzhang800.png") 加载图片不成功QFile("dbzhang800.txt") 打开文件失败...遇到这种问题,我一般回答:请注意区分进程的"工作目录"与程序所在的目录。但这种回答似乎还是显得太苍白了,既然如此,整理一下吧。用到了相对路径,你清楚"相对"是相对那个目录的么?当你抱怨Qt时,你知道它与Qt无关么?Q转载 2014-05-12 16:14:16 · 1076 阅读 · 0 评论 -
Windows平台下Qt中glut库的使用
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符,就是说没有这个函数的声明。接下来就来安装glut库: 1.先下载glut库http://www.opengl.org/resources/libraries/glut/glutdll转载 2014-05-07 10:10:17 · 1219 阅读 · 0 评论 -
基于Qt4.8的Windows软件的开发与打包发布
为了实现各平台之间的移植,初步接触Qt,发现其甚是好用!公司的产品大部分都是用串口来实现与上位机通信的,所以首先了解Qt的串口操作,其次还用到数据转动态曲线,多线程,音视频多媒体以及读写excel文件等操作。整个系统基本稳定运行后,就要打包发布了,自己的劳动成果可以发不了,很是激动!windows打包的流程基本是这样的,首先Qt编译要选择静态编译,之后再利用NSIS脚本将编译好的Qt可执行文件打包原创 2014-03-14 09:34:25 · 4291 阅读 · 1 评论 -
QT中PRO文件写法的详细介绍
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。转载 2014-03-28 11:38:35 · 516 阅读 · 0 评论 -
qt pro文件和pri文件的区别
本文只能抓住一条线,简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件:干嘛用的,如何用的*.proqmake 的工程(project)文件,这个大家肯定都非常熟悉了。那我就不费话了,上例子:这是一个典型的Qt示例程序的.pro文件(propriprfprl.pro):TEMPLATE = appCONFIG += QTQT += core guiT转载 2014-03-27 11:08:43 · 2685 阅读 · 0 评论 -
Qt控制台和带窗口的区别
选择创建控制台生成以下代码 #include int main(int argc, char *argv[]){ QCoreApplicationa(argc, argv); returna.exec();}.pro文件如下#------------------------------------------------- # # P转载 2014-03-26 10:14:07 · 725 阅读 · 0 评论 -
QCustomPlot的使用 - 1安装
QCustomPlot的使用 - 1安装QCustomPlot超强的qt绘图控件1.安装使用QCustomPlot非常简单,只需要把qcustomplot.cpp和qcustomplot.h拷贝到工程目录下,然后把这两个文件引入工程项目即可在项目中点右键添加现有文件,把两个文件加入工程这时pro文件会添加上qcustomplot.cpp和qcustomplot.h,这时还需转载 2014-03-28 14:40:07 · 958 阅读 · 0 评论 -
Qt应用程序自动重启
老有人问如何让Qt的应用程序自动重启,稍微写一点,也顺便理理自己的思路 2011.10.26自动重启,也就是退出当前进程,启动一个新的进程。于是,先看程序如何退出退出Qt程序的一般结构如下:int main(int argc, char** argv){ QApplication app(argc, argv); Widget w; w.show(转载 2014-04-01 16:40:23 · 603 阅读 · 0 评论 -
QT creator使用qwt插件
通过QT creator使用qwt插件:打开Qt Creator ,打开一个要用qwt的工程,点projects模式(左边侧栏),点build Environment的details,在PATH中加上:x:\xx\2010.02.1\qt\include\qwt,就是上文提到的拷贝过去的文件。其实不加应该也可以。在.pro文件中加上2句话:LIBS += -L"E:/Qt/2010.0原创 2014-03-28 09:48:03 · 814 阅读 · 0 评论 -
Qt 背景透明、无边框标题栏、鼠标拖动、定时器、获取屏幕分辨率,设置初始位置
DigiClock::DigiClock(QWidget*parent) : QLCDNumber(parent)////////////////////////注意继承的类~{ /*QPalette p=palette(); p.setColor(QPalette::Background,QColor(0x00,0xff,0x00,0转载 2014-05-06 17:25:14 · 1167 阅读 · 0 评论 -
qtcreator中常用快捷键总结
F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式转载 2014-04-08 10:38:29 · 524 阅读 · 0 评论 -
Event->buttons() & Qt::LeftButton
由Event->buttons() & Qt::LeftButton想到的Qt::MouseButtons QMouseEvent::buttons () const Event->buttons()的返回是 Qt::MouseButtonConstantValueQt::NoButton0x00000000Qt::LeftButton0x00000001Q转载 2014-05-12 14:45:58 · 5877 阅读 · 1 评论 -
QCustomPlot安装使用教程
1.概述QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己使用两个源文件也可以自己编译成库文件,非常方便。官方网站:http://www.qcustomplot.com/1.0下载地址:http://download.csdn.net/detail翻译 2014-05-19 11:07:23 · 3397 阅读 · 0 评论 -
qt里产生随机数
先说一下rand()与srand()这两个函数的用法所谓的“伪随机数”指的并不是假的随机数,这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正点到了事物的特性 —— 规律性;但是每种树的叶子都有近转载 2014-05-19 10:46:20 · 626 阅读 · 0 评论 -
Qt动画框架
Qt动画框架由本人终于翻译完毕,这里的每个字母、每个汉字、每张图片都是有本人一个一个敲打出来的,现把它共享出来。 Qt动画框架是Kinetic项目的一部分,主要目的是提供一种简单的方法用于创建动画的和平滑的GUI。通过Qt动画属性,Qt动画框架为部件和其他QObject对象的动画操作提供了非常大的自由性。Qt动画框架也能用于图形视图框架中。 在这片文章中,我们阐述了转载 2014-05-09 17:26:18 · 570 阅读 · 0 评论 -
QT 获取系统屏幕分辨率
1,在Windows下可以使用 GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取。2,在Linux下可以使用XDisplayWidth;XDisplayHeight ()获取。3,在QT中呢?很多人说是 QApplication::desktop()->width();QApplication::desktop转载 2014-05-09 17:07:10 · 4238 阅读 · 1 评论 -
QT 如何使窗体初始最大化
今天我想让一个窗体初始运行最大化,本以为很简单一个问题,花了差不多两个小时才解决,真是痛苦,问题一但解决,其实非常简单QT 中有一个void QWidget::setWindowState ( Qt::WindowStateswindowState )这样的函数,通过它可以设置窗体的初始状态,Qt::WindowStates 一共有下面几种状态:Co转载 2014-05-09 16:06:03 · 1471 阅读 · 0 评论 -
QLineEdit
顾名思义,其是单行编辑控件,经常用于编辑简短的信息,如用户登录信息及密码输入等。作为编辑框其具有常见的编辑动作,如清除内容clear,复制copy,剪切cut,粘贴paste,重做rudo、撤销undo,全选selectAll及设置编辑信息setText及删除dselete和del及backspace。根据编辑的内容及显示,QLineEdit有不同的显示模式:QLineEdit:::Normal翻译 2014-04-09 13:38:56 · 2959 阅读 · 0 评论 -
QT错误:collect2:ld returned 1 exit status (简单总结)
通过自己的错误积累和网上的相关资料,简单的总结了一下出现这种错误常见的情况:1.编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误。解决方法:打开任务管理器,找到相应的exe进程,关闭即可; 或者直接关闭QtCreator。2.没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了解决方法:细心查找基类所用的头文件,include之翻译 2014-04-22 18:26:32 · 1023 阅读 · 0 评论 -
QWT类的一些使用方法
鼠标滚轮放大缩小:QwtPlotMagnifier *PM= new QwtPlotMagnifier( ui->qwtPlot->canvas());鼠标左键拖动波形:QwtPlotPanner *PQ= new QwtPlotPanner( ui->qwtPlot->canvas());鼠标左键选择区域放大:(右键还原)转载 2014-03-28 09:49:50 · 1513 阅读 · 0 评论