QT
文章平均质量分 83
hustyangju
这个作者很懒,什么都没留下…
展开
-
Qt文件操作总结
Qt提供了QFile类来进行文件处理,为了更方便地处理文本文件或二进制文件,Qt还提了QTextStream类和QDataStream类,处理临时文件可以使用QTemporaryFile,获取文件信息可以使用QFileInfo[喝小酒的网摘]http://blog.const.net.cn/a/4537.htm处理目录可以使用QDir.监视文件和目录变化可以使用QFileSystemWatch原创 2013-07-08 09:35:33 · 1865 阅读 · 0 评论 -
QT输入输出(一) 之 QDataStream 测试
if(!file.flush()){ qDebug("write faile");}在《C++ GUI QT 4》中,没有加入这一句,所以会出现数据无法写入文件的问题,当然也无法督导数据。是因为,写操作是把数据写到缓冲区,交给操作系统完成写到文件的任务,但是操作系统是多任务的,不会立即把缓冲区的数据写到文件,所以最好强制把缓冲区的数据写到文件。原创 2014-01-02 20:35:14 · 6643 阅读 · 0 评论 -
QT SQL使用指南
QtSql模块提供了与平台无关的访问SQL数据库的接口,这个接口由利用Qt的模型/视图机构将数据库与用户界面集成的一套类来支持。QSqlDatabase对象表征了数据库的关联。QSqlQuery类提供了一种直接执行任意的SQL语句并处理其结果的方式。QSqlTableModel和QSqlRelationalTableModel可以用来遍历和编辑数据,也可以添加用户可以查看和修改的视图。原创 2014-01-03 20:47:09 · 6948 阅读 · 0 评论 -
QThread多线程编程经典案例分析
QT QThread多线程编程的方法一直有个争议,就是Bradley T. Hughes:You’re doing it wrong归纳为3中方法优劣问题:原创 2014-01-04 11:05:09 · 3003 阅读 · 1 评论 -
QT QMessageBox 详解
现在还是继续来说说Qt的标准对话框吧!这次来说一下QMessageBox以及类似的几种对话框。先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过: QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBo原创 2013-12-23 21:26:06 · 2699 阅读 · 0 评论 -
QT中文乱码问题
Qt 4.74 做发布版,解决中文字体乱码问题1、在main添加如下代码 QTextCodec *codec= QTextCodec::codecForName("GBK");//GB2312也可以 QTextCodec::setCodecForCStrings(codec);//1 QTextCodec::setCodecForLocale(codec);//原创 2013-12-23 21:16:45 · 1047 阅读 · 0 评论 -
QT对象模型
QT Meta-Object system 三大机制:1、 内存管理(QObject)2、内省机制(introspection)3、事件处理(signal-slot)从 Qt 的 delete 说开来:http://blog.csdn.net/dbzhang800/article/details/6300025 Qt源码分析之QObject:http://b原创 2013-12-29 15:38:39 · 1149 阅读 · 0 评论 -
QT程序中引入designer自定义窗口部件
作为一个科班出生的程序猿,总喜欢亲力亲为,包括UI也总要通过代码实现。但是QT designer提供了一种高效率、简洁美观的绘制UI的方法,总有它存在的必要和优点吧。所以,今天操刀来把绘制的UI文件(.ui格式)引入自己的工程中。原创 2014-01-07 22:11:55 · 3505 阅读 · 0 评论 -
QT 2D绘图代码实例
QT 2D绘图代码实例原创 2014-01-08 21:05:04 · 2573 阅读 · 0 评论 -
win7下搭建Qt开发环境(MinGW 4.4、Qt library 4.8.5、Qt Creator3.0和gdb调试)亲测成功啦
win7下搭建Qt开发环境(MinGW 4.4、Qt library 4.8.5、Qt Creator3.0和gdb调试)亲测成功啦!原创 2013-12-25 19:42:36 · 7154 阅读 · 0 评论 -
测试 QT 不同线程间signal-slot机制的值传递
signal-slot机制是QT的核心,也是QT解决线程之间通信的一大亮点。深刻理解其两大特性:(1)loosely coupledsender 与 receiver 互不关心,一个signal可以被多个slot获取,signal可以触发另一个signal(2)type-safeconnect连接时,遵守严格的参数约定,slot参数必须与signal参数保持一致,slot参数数量可以少于signal原创 2013-12-27 18:47:37 · 2781 阅读 · 0 评论 -
Qt的线程和 signal-slot
Qt事件和信号的区别问题: 什么时候用事件,什么时候用信号呢?是不是不同的线程间用事件,信号不能用在线程间?解答: 仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可。但有一项区别在 于,事件处理函数的返回值是有意义的,我们要根据这个返回值来确定是否还要继续事件的处理,比如在原创 2013-12-27 15:39:15 · 2909 阅读 · 0 评论 -
程序启动画面QSplashScreen类
当程序的初始化工作比较多,程序可能启动较长时间后,窗口才会显示出来,用户没准会抱怨程序响应的慢。为了改善用户体验,最好在程序初始化这段时间显示logo,或者其他信息提示用户程序已启动。QT提供了QSplashScreen 类,其使用方法比较简单,下面的例子就是,当程序运行到 splash. show();时,logo.gif就会显示出来,当dialog的初始化完成,运行到 splash. fi原创 2014-03-24 09:57:12 · 9240 阅读 · 0 评论 -
QT输入输出(三)之 目录遍历(QDir)
利用QDir实现目录遍历原创 2014-01-03 10:40:31 · 10899 阅读 · 0 评论 -
QT输入输出(二) 之 QTextStream 测试
对于复杂的文件格式,成熟的解析器是必须的!有三种读取方法:(1)逐行读取QTextStream::readLine()(2)采用16位的QChar单元,逐个字符的读取!当然,要考虑换行符、制表符和空格。这个很精确,但相当麻烦。(3)不考虑内存的开销,在文件较小的情况下,可以一次性读完。QTextStream::readAll()原创 2014-01-02 22:08:35 · 10083 阅读 · 0 评论 -
Bradley T. Hughes:You’re doing it wrong
我们广泛地使用IRC在自己与社会之间沟通。我挂出这个问题,希望可以帮助人们。一个常见的问题,我看到(同时这让我畏缩)人们了解和使用Qt线程和如何对代码做一些他们认为正确的工作。人们展现自己的代码,或用自己的代码写例子,往往最终让我的思维定格在:你这样做是错误的我知道这样说很大胆,或许有点挑衅,但在同时,我不禁认为(假想的)下面的类是一个不正确使用Qt的程序。class翻译 2013-07-26 16:13:14 · 3082 阅读 · 0 评论 -
纠正你的QThread 的使用方法
QThread 的使用方法 起源昨天不小心看到Qt开发人员( Bradley T. Hughes)Blog中的一片文章 you are-doing-it-wrong 。 结果看得头昏脑胀:好歹也自学了近1年的Qt,也一直很小心、很认真地阅读Qt和manual和例子等资料,却被突然告知,QThread的正确使用方法是一种自己从没见过,而且Qt manual、examp原创 2013-07-26 09:37:05 · 3685 阅读 · 0 评论 -
QT中三种构建菜单栏的方法
QT中三种构建菜单栏的方法原创 2013-12-30 10:45:10 · 4672 阅读 · 0 评论 -
堆栈窗口 QStackedWidget 测试
QStackedWidget采用堆栈的思想,将不同的widget通过addwidget()函数放进该类的对象中,并默认编号,从0开始。indexOf()函数获取显示widget的页号货编号setCurrentIndex(int) 来显示该页号的widget。nice~原创 2013-12-31 16:22:43 · 2817 阅读 · 0 评论 -
QT事件处理 (一)之 重载事件处理器
根据需要,我们可以重载event()函数,在event()里加入事件的处理,也可以重载事件处理器函数,如:QResizeEvent,QPaintEvent,QMouseEvent,QKeyEvent和QCloseEvent。原创 2014-01-01 15:47:12 · 3238 阅读 · 0 评论 -
QT事件处理(二) 之 事件过滤器
一个事件过滤器的安装需要下面2个步骤: 1, 调用installEventFilter()注册需要管理的对象。 2,在eventFilter() 里处理需要管理的对象的事件。原创 2014-01-01 16:26:58 · 1289 阅读 · 0 评论 -
QDockWidget的使用
《C++ GUI QT 4》中介绍的QDockWidgetde 使用方法原创 2013-12-31 22:05:39 · 4291 阅读 · 0 评论 -
QT容器类(三) 之 QMap、QHash
QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMapQHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序住址他的数据,,当然了他也是可以支持一键多值的,QMultiHash原创 2014-01-02 15:38:37 · 15964 阅读 · 0 评论 -
QT容器类(二) 之 Iterator
Qt支持两种风格的迭代器——Java-style和STL-styleJava-style的迭代器更容易使用,而STL-style的迭代器可以同Qt和STL中的算法联合使用,更为强大。原创 2014-01-02 14:33:33 · 6323 阅读 · 0 评论 -
QT容器类(一) 之 QVector 、QLinkedList 和 QList
QVector 、QLinkedList 和 QList原创 2014-01-01 22:03:55 · 9422 阅读 · 0 评论 -
QT输入输出(四)之 QProcess
Qt提供了一个QProcess类用于启动外部程序并与之通信.这个类是异步工作的,而且在后台执行,这样用户界面就可以始终保持响应。原创 2013-07-25 11:02:57 · 2694 阅读 · 0 评论 -
Qt中QTableWidget用法总结
QTableWidget类提供了一种基于条目(item)的表格视图模型,在该部件中数据以item为基本单位,每条数据(item)对应一个QTableWidgetItem类的对象,所有数据形成的item组成整个表格。接下来我们创建一个用来显示学生信息的表格,以此为例说明TableWidget的一些常用功能。1.创建QTableWidget首先创建studentInfo类,然后在Qt原创 2013-12-19 14:37:03 · 7613 阅读 · 0 评论 -
QT信号(signal)和槽(slot)应注意的问题
信号与槽机制是比较灵活的,但有些局限性我们必须了解,这样在实际的使用过程中做到有的放矢,避免产生一些错误。下面就介绍一下这方面的情况。1.信号与槽的效率是非常高的,但是同真正的回调函数比较起来,由于增加了灵活性,因此在速度上还是有所损失。当然这种损失相对来说是比较小的,通过在一台i586-133的机器上测试是10微秒(运行Linux),可见这种机制所提供的简洁性、灵活性还是值得的。但如原创 2014-03-27 11:18:29 · 5580 阅读 · 1 评论