随笔分类 -  Qt

Qt/Qtopia C++ GUI
Qt 提取文件(exe, dll等)中的图标icon
摘要:Qt提取不同文件格式(exe, dll等)中的图标icon 阅读全文
posted @ 2012-03-21 21:48 风行雪舞 阅读(1657) 评论(1) 推荐(0)
Qt中QTableWidget用法总结
摘要:QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都需要用逐个单元格构建起来。 阅读全文
posted @ 2012-03-21 21:47 风行雪舞 阅读(1925) 评论(0) 推荐(0)
Qt中translate、tr关系 与中文问题
摘要:题外话:何时使用 tr ? 在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人: •(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr •(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:◦(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) ◦(2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 阅读全文
posted @ 2012-03-21 21:29 风行雪舞 阅读(1373) 评论(0) 推荐(0)
Qt的进度条实现
摘要:今天下午动手实践了一下QProgressBar,遇到的问题比较多,浪费了不少时间,但收获同样颇多... 程序界面如下: 阅读全文
posted @ 2012-03-21 21:26 风行雪舞 阅读(1392) 评论(0) 推荐(0)
Qt文件处理
摘要: Qt提供了QFile类来进行文件处理,为了更方便地处理文本文件或二进制文件,Qt还提了QTextStream类和QDataStream类,处理临时文件可以使用QTemporaryFile,获取文件信息可以使用QFileInfo ,处理目录可以使用QDir.监视文件和目录变化可以使用QFileSystemWatcher. 读写文本文件 QFile类提供了读写文件的接口,QFile类可以读写文本文件,二进制文件和Qt资源文件,也可以使用更方便的QTextStream,QDataStream类读取文本文件和二进制文件,要打开一个文件,可以在构造函数中指定文件名,也可以在任何时候使用setFileName()函数设置文件名,打开文件使用open函数,关闭文件使用close函数。QFile中可以使用QIODevice中继承的readLine()函数读写文本文件的一行 阅读全文
posted @ 2012-03-21 21:07 风行雪舞 阅读(1019) 评论(0) 推荐(1)
Qt中QString,char,int,QByteArray之间到转换
摘要:各种数据类型的相互转换 char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = ch1;//不报错,但有警告 ch1 = (char *)ch2; char 转换为 QString 其实方法有很多中,我用的是: char a='b'; QString str; str=QString(a); QString 转换为 char 方法也用很多中 QString str="abc"; char *ch; ch = str.toLatin1.data(); QByteArray 转换为 char * char *ch;//不要定义成ch[n]; QByteArray byte; ch = byte.data(); char * 转换为 QByteArray char *ch; QBy 阅读全文
posted @ 2012-03-21 21:01 风行雪舞 阅读(1022) 评论(0) 推荐(0)
Qt的QFile类详解
摘要:QFile类是操作文件的输入输出设备类。QFile是一个用来读写二进制文件与文本文件的输入输出设备。QFile可以被自己或更方便的类 DataStream或QTextStream使用。文件的名字通常通过构造传递,但可以通过setName()来修改。你可以使用exists()来检查文件是否存在,并且通过remove()来移除一个文件。文件通过open()被打开,通过close()来关闭,通过flush()来更新。数据通常使。QDataStream或QTextStream来被读出写入,但你可以通过readBlock()和readLine()读出,通过 writeBlock()写入。 阅读全文
posted @ 2012-03-21 20:46 风行雪舞 阅读(8156) 评论(0) 推荐(1)
继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误
摘要:#ifndefQQUSERITEM_H就发生下列错误 #defineQQUSERITEM_H#includeclassQQUserItem:publicQTreeWidgetItem{Q_OBJECTpublic:explicitQQUserItem(QQUserItem*parent=0);signals:publicslots:};#endif//QQUSERITEM_H debug\moc_QQUserItem.cpp:41:8: error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' ..\..\Qt\4.6.3\include/QtCore/http://www.cnblogs.com/src/corelib/kernel/qobject.h: In member function 阅读全文
posted @ 2012-03-20 18:49 风行雪舞 阅读(601) 评论(0) 推荐(0)
QT进度条
摘要:在QT中可以用QProgressBar或着QProgressDialog来实现进度条。 QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 ui-progressBar-setRange(0,50000-1); ui-progressBar-setValue(0); 阅读全文
posted @ 2012-03-20 18:47 风行雪舞 阅读(1299) 评论(0) 推荐(0)
Qt 将进度条嵌入进table widget 控件
摘要:table widget是qt4才引入的一个控件。大体的做法就是使用QItemDelegate类,然后在 createEditor接口返回想要使用的QWidget。 还有种简单的方法是使用QTableWidget的setCellWidget的接口直接将QWidget设置进去。 阅读全文
posted @ 2012-03-20 18:38 风行雪舞 阅读(879) 评论(0) 推荐(0)
QT:给Widget设置背景图片
摘要:先上代码,这里作说明。 1)将该段代码放在需要设置背景图片的构造函数中 2)需要包含头文件 #include #include #include 3)逻辑: 首先构造一个QPixmap对象,可以认为是一个位图。 然后将该Widget的调色板palette取出来放在bgPalette里面 修改调色板,用Brush将我们刚才创建的图片刷到调色板上去 最后重置Widget的调色板 4)注意: 如果背景图片是png等含有透明部分的图片,还要用setMask()函数将背景的掩码设置成和图片一样的,方可显示透明色。 阅读全文
posted @ 2012-03-20 18:34 风行雪舞 阅读(4795) 评论(0) 推荐(0)
Qt中如何 编写插件 加载插件 卸载插件
摘要:Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容。Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库。由于在开发项目的过程中,要开发一套插件系统,就使用了Qt的这套类库。 一 编写插件 编写一个Qt的插件需要以下步骤 1.声明一个插件类, 2.定义一个类,实现这个插件类定义的接口,定义的这个类必须从QObject集成下来。 3.使用Q_INTERFACESQ_INTERFACES()告知Qt的元系统这个接口的存在 阅读全文
posted @ 2012-03-20 05:37 风行雪舞 阅读(1684) 评论(0) 推荐(0)
tableWidget单元格的大小调整
摘要:// 单列宽度 ui.tableWidget.setColumnWidth(column, width); // 表格适应内容 ui.tableWidget.resizeColumnsToContents(); // 表格适应内容 指定列 ui.tableWidget.resizeColumnToContents(column); 阅读全文
posted @ 2012-03-20 05:30 风行雪舞 阅读(1422) 评论(0) 推荐(0)
QT中添加Q_OBJECT出现的问题
摘要:我在用class My_Node : public QGraphicsItem,public QObject来生成自己的类时,想使用信号和槽机制,但这是dys_node.h中没有Q_OBJECT,不能使用信号槽。我将Q_OBJECT加上之后,出现几个不知道是什么的错误。然后我将工程目录下的Makefile删除,然后重新编译、链接文件,刚才的错误消失了,但出现如下三个错误: error: 'staticMetaObject' is not a member of 'QGraphicsItem' error: 'qt_metacast' is not a member of 'QGraphicsItem' error: 'qt_metacall' is not a member of 'QGraphicsItem' 阅读全文
posted @ 2012-03-20 05:27 风行雪舞 阅读(2658) 评论(0) 推荐(0)
QString和char字符串数组之间的转换
摘要:做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString;但是,在对串口设备进行读写时,数据使用的形式都是char型指针(不知道是不是我理解的不透彻),所以就要解决QString和char型数组之间的转换。 查阅了一些资料,并经过自己的验证,找到了下面的解决办法: 阅读全文
posted @ 2012-03-20 05:25 风行雪舞 阅读(19405) 评论(1) 推荐(0)
QT 的信号与槽机制介绍(一)
摘要:信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。 在我们所熟知的很多 GUI 工具包中,窗口小部件 (widget) 都有一个回调函数用于响应它们能触发的每个动作,这个回调函数通常是一个指向某个函数的指针。但是,在 QT 中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程序更为简洁明了。 信号和槽能携带任意数量和任意类型的参数,他们是类型完全安全的,不会像回调函数那样产生 core du 阅读全文
posted @ 2012-03-20 05:14 风行雪舞 阅读(566) 评论(0) 推荐(1)
QT 的信号与槽机制介绍(二)
摘要:信号与槽机制是比较灵活的,但有些局限性我们必须了解,这样在实际的使用过程中做到有的放矢,避免产生一些错误。下面就介绍一下这方面的情况。 1 .信号与槽的效率是非常高的,但是同真正的回调函数比较起来,由于增加了灵活性,因此在速度上还是有所损失,当然这种损失相对来说是比较小的,通过在一台 i586-133 的机器上测试是 10 微秒(运行 Linux),可见这种机制所提供的简洁性、灵活性还是值得的。但如果我们要追求高效率的话,比如在实时系统中就要尽可能的少用这种机制。 2 .信号与槽机制与普通函数的调用一样,如果使用不当的话,在程序执行时也有可能产生死循环。因此,在定义槽函数时一定要注意避免间接形成无限循环,即在槽中再次发射所接收到的同样信号。例如 , 在前面给出的例子中如果在 mySlot() 槽函数中加上语句 emit mySignal() 即可形成死循环。 3 .如果一个信号与多个槽相联系的 阅读全文
posted @ 2012-03-20 05:13 风行雪舞 阅读(366) 评论(0) 推荐(1)
QT自定义窗口插件在QT Creator的应用
摘要:根据《C++ GUI Programming with Qt 4,Second Edition》中第5章的“在Qt设计师中集成自定义窗口部件”小节,使用插件法生成的窗口部件利用QT Creator编译后,在QT Creator中的设计师是找不到的,但是在打开/qt/bin中的Qt designer是可以找到该插件的。 如果在Qt designer插入该插件,然后在QT Creator中编译是通不过的。 照成这种问题的原因是QT Creator和Qt designer的窗口部件插件是存在不同路径的.Qt designer是在/qt/plugins/designer中,而QT Creator是在/bin/designer中,解决办法只需将/qt/plugins/designer中的全部内容复制到setuproot 阅读全文
posted @ 2012-03-20 05:11 风行雪舞 阅读(898) 评论(0) 推荐(1)
如何让插件加载到Qt Designer
摘要:本文介绍的是如何让插件加载到Qt Designer,插件是一种遵循一定规范的应用程序接口编写出来的程序,对于Qt Designer不多做介绍了,先看内容吧。本文介绍的是如何使自定义的插件加载到Qt Designer,对于插件,插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。第一步,需要创建自定义窗口部件。可以对一个已经存在的窗口部件进行子类化也可以直接对Qwidget 进行子类化,就可以创建自定义的窗口部件。我是采用子类化Qwidget的方法创建的窗口部件。 阅读全文
posted @ 2012-03-20 05:10 风行雪舞 阅读(1070) 评论(0) 推荐(1)
Qt4.7做Led 测试,Qt界面运行正常,LED无反应
摘要:大家好,在学习Qt4.7的移植时按照TQ6410_QT4.7移植手册的Led测试例程开发,目标板是TQ2440,使用内核EmbedSky-leds为设备文件,改变LED1 ——LED4的状态时开发板上的LED不受控制。界面程序如下: 1 #include "ledtest.h" 2 #include "ui_ledtest.h" 3 4 #include 5 #include 6 #include 7 #includestring.h&g 阅读全文
posted @ 2012-03-16 05:47 风行雪舞 阅读(1327) 评论(0) 推荐(1)

无觅相关文章插件,快速提升流量