03 2012 档案
(原创)亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
摘要:经过4天N次尝试,亲自测试各种资料和方法,最终通过实践成功完成了VS2010静态编译配置QT,期间遇到种种问题,总算解决了,由于篇幅的原因就不一一陈述了,不过本文是我一步步整理出来的,不敢说最适合,但一定有效! 阅读全文
posted @ 2012-03-29 09:58 风行雪舞 阅读(18168) 评论(14) 推荐(7)
更改QT程序的图标
摘要:1. 制作ICO图表文件 首先自己准备好喜欢的BMP位图文件,然后利用图标制作工具IconMaster将位图文件转化为ICO图标文件 阅读全文
posted @ 2012-03-28 18:22 风行雪舞 阅读(486) 评论(0) 推荐(0)
Qt configure 参数不完全说明
摘要:只需要加个 -fast参数就ok了。其他参数视自己情况而定,比如你不需要qt3支持可以添加-no-qt3support,或者不需要webkit插件 -no-webkit 配置参数选项: 阅读全文
posted @ 2012-03-28 09:16 风行雪舞 阅读(8659) 评论(0) 推荐(0)
vs2010编译qt4.8
摘要: vs2010编译qt4.8 1.使用vs2010自带的命令行进入qt目录,进入mkspecs\win32-msvc2010\qmake.conf查看编译选项,配置内置wchr_t语言,修改如下选项(如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring): QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t 2.输入命令 configure -platform win32-msvc2010 3.输入nmake命令 nmake 如果发生 Perl not found in environment - cannot run syncqt 错误,进入bin目录删除syncqt、syncqt.bat文件后重新输入nmake命令 过程中有个cpp文件报错,找到报错行,发现有中文双引号,改成斜杠加单字符双引号 阅读全文
posted @ 2012-03-25 21:38 风行雪舞 阅读(821) 评论(0) 推荐(0)
VS2010+win7+QT4.8编译总结
摘要:一、配置与编译QT。 qt-everywhere-opensource-src-4.7.4.zip qt-everywhere-opensource-src-4.8.0.zip 这两个文件是 QT 4.7 和 QT 4.8 的源文件,若需要在 VS2010中使用,需要先编译。 方法: 阅读全文
posted @ 2012-03-25 20:46 风行雪舞 阅读(3487) 评论(0) 推荐(0)
Qt简介以及如何配置Qt使用VS2010进行开发
摘要:今天我们将介绍的是如何在Visual Studio 2010中配置Qt这个跨平台应用程序和UI开发框架。 阅读全文
posted @ 2012-03-25 20:43 风行雪舞 阅读(2418) 评论(0) 推荐(0)
windows7_QtCreator2.4.1_Qt4.8.0_Qwt6.0.1_msvc2010 编译环境搭建的总结
摘要:1. 如果不嫌麻烦, 一定要把 Qt sdk 里的 Qt的版本和 vs2010 使用的Qt库的版本统一下。 原因:因为 qt creator 的调试器做得很烂, 所以creator 只是用来编辑代码, 然后vs2010上进行调试,如果所使用的版本不统一的话会在配置环境变量的问题上花费不少的时间, 之前下载了一个 Qt4.7.1 , msvc 的qt插件用 Qt4.8.0, 后来用vs调试的时候总会出现莫名其妙的错误, 比如无法在dll里准确定位....等等。 这样的话又得重新配置下环境变量让vs link的时候准备找出相应dll。 阅读全文
posted @ 2012-03-25 20:42 风行雪舞 阅读(1569) 评论(1) 推荐(0)
Qt 4.8.0 Win 7 VS2010静态编译问题
摘要:Qt 4.8.0 Win 7 VS2010静态编译问题 阅读全文
posted @ 2012-03-25 20:40 风行雪舞 阅读(1070) 评论(0) 推荐(0)
在VS2010下运行Qt程序
摘要:网上一些教程说要什么静态编译什么的,其实现在Qt已经为我们准备了专门用于在vs2010中开发的源码包,所以想要在vs2010中运行Qt程序只需简单的安装就行了。 阅读全文
posted @ 2012-03-25 20:38 风行雪舞 阅读(1231) 评论(2) 推荐(0)
VS2010编译Qt4.7.2 静态库(测试成功)
摘要:从http://qt.nokia.com 下 载QT源代码,注意是源代码。我下载到的是QT4.7.2版,文件名为qt-win-opensource-src-4.7.2.zip 解压,注意不要解压路径不要含有空格或中文(对于某些系统中用户名是中文的情况,在参考的第3个文章中有解决办法,如下面),我把它解压到了D:\SDK\Qt_4_7_2_VS2010里 最后目录如下:D:\SDK\Qt_4_7_2_VS2010\qt-everywhere-opensource-src-4.7.2\ 准备一个存放编译后“成品”的文件夹,我准备放在D:\SDK\Qt_4_7_2_VS2010\static里 阅读全文
posted @ 2012-03-25 20:35 风行雪舞 阅读(625) 评论(0) 推荐(0)
Linux下QT4.7.1静态编译过程
摘要:一、静态编译QT库 发布QT程序时,为了使没有QT依赖库的环境中也能运行QT程序,这就需要静态编译你的QT程序。要达到这个目的,首先必须静态编译你的QT库文件,其过程如下: 我的系统:Ubuntu10.10 第一步:下载源码包 qt-everywhere-opensource-src-4.7.1.tar.gz(下载地址)。 第二步:解压缩 tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz 第三步:配置 1.进入解压目录:cd qt-everywhere-opensource-src-4.7.1, 2.配置编译选项: ./configure -release -static -nomake examples -nomake demos -no-qt3support -no-script -no-scripttool 阅读全文
posted @ 2012-03-25 19:56 风行雪舞 阅读(885) 评论(0) 推荐(0)
arm嵌入式linux qt入门问答,很经典!!
摘要:很多新手刚开始学习ARM的时候都会遇到下面类似的问题,由于很多基本原理都不会,所以很容易被表面问题迷惑,相信看完下述问答的新手一定会对ARM有一个非常清晰的印象。 阅读全文
posted @ 2012-03-25 19:51 风行雪舞 阅读(3221) 评论(0) 推荐(0)
Linux下快速静态编译Qt以及Qt动态/静态版本共存
摘要: Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-opensource-src的tar包,到网上一查,乖乖,大部分人编译这个包居然花费了12~13个小时!但是,根据我在Windows下静态编译Qt的经验,其实这之中很多东西都是可以不用编译的,最终我大约用了40分钟编译完成了全部内容。如果你直接使用官方的sdk安装,那么你就已经有了一个动态库,现在你又通过源码包编译,那么只要编译出静态库,因为你已经有动态库,你甚至只需要编译静态release库就足够了,谁会在平时编译的时候就要用那种浪费时间的静态编译?等到产品要部署到别的机器的时候,Qt需要用的时候连接上就可以了,这样其它的内容,如动态库的demo,examples都依旧可用,安装两个版本又不会花太多 阅读全文
posted @ 2012-03-25 19:26 风行雪舞 阅读(1142) 评论(0) 推荐(0)
QT 4.8 静态库编译方法
摘要:最最初踏上QT之路是受到了XiaomaGee的指点,相比于常规的窗口程序开发,QT有着以下特点: 1、 优良的跨平台特性(支持Win、Linux、Mac 不同的平台下只需重新编译即可使用) 2、 面向对象 3、 丰富的API 4、 支持2D/3D图形渲染,支持OpenGL 5、 大量的开发文档(无需像VC一样装几个G的MSDN) 6、 XML支持 阅读全文
posted @ 2012-03-24 19:02 风行雪舞 阅读(9079) 评论(3) 推荐(6)
Qt学习笔记--编程技巧总结
摘要:以命令行的形式改变窗口的现实风格 ./xxx -style cde/motif/plastique 根据标签快捷键定位输入框 QLabel *label = new QLabel(tr("&New")); QLineEdit *edit = new QLineEdit(); label-setBubby(edit); 默认按钮:当用户按下Enter的时候,能够按下对应的按钮 button-setDefault(true); 禁止按钮:显示为灰色,不和用户交互 button-setEnabled(false); 布局中占用其他的剩余空间 layout-addStretch(); 设置窗口的固定高度和宽度 dlg-setFixedHeight(dlg-sizeHint().height()); dlg-setFixedWidth(dlg-sizeHint(). 阅读全文
posted @ 2012-03-24 16:02 风行雪舞 阅读(2465) 评论(0) 推荐(1)
QT中的qmake详解
摘要: 关于qmake,好一段时间令我一头雾水,不知道用来干嘛的,只知道怎么用,而且也只懂那么一两个命令,详细看过资料以后整理如下: 1.首先,感性的认识是,qmake可以利用源文件(包括头文件h,实现文件cpp,qt的ui文件等等)生成各种不同类型的工程,工程需要的Makefile文件,可执行的与不可执行的,这取决于所用的模板(包括app、lib、subdirs、vcapp、vclib)。 2.创建pro文件,添加各种源文件,还可以设定平台相关的不同源文件,设置各种规则,利用qmake命令生成工程。后面会介绍pro文件可以手工编写,也可以利用qmake命令智能的生成。 阅读全文
posted @ 2012-03-24 15:50 风行雪舞 阅读(2031) 评论(0) 推荐(0)
Qt Creator插件工作流程代码走读
摘要:Qt Creator有个很风骚的插件管理器PluginManager,还有个很骚包的插件说明PluginSpec。基本上,所有的Qt程序的入口都是传统的C程序一样,代码流程从main()函数开始。   在main()中,先初始化用于国际化的translator,然后获取程序配置settings,接着就在栈上创建了PluginManager对象,之后为PluginManager设置搜索用的文件扩展名pluginspec,设置配置,再设置插件搜索路径。   设置好插件搜索路径后,PluginManager会从配置中读出被忽略的插件列表和需要强制使能的插件列表,然后开始在插件搜索路径中查找*.pluginspec文件,这类文件中记录了插件的名称,版本号,依赖插件等信息。找出所有.pluginspec文件后,就检查一下每个插件所依赖的插件的名称和版本号信息是否匹配。 阅读全文
posted @ 2012-03-24 15:45 风行雪舞 阅读(771) 评论(0) 推荐(0)
QRegExp正则表达式用法
摘要:QRegExp是Qt的正则表达式类. Qt中有两个不同类的正则表达式. 第一类为元字符.它表示一个或多个常量表达式. 令一类为 转义字符,它代表一个特殊字符. 阅读全文
posted @ 2012-03-24 15:37 风行雪舞 阅读(1582) 评论(0) 推荐(1)
Qt4: Show an image in your widget – 在Qt里面显示图像
摘要:很多人问,怎么快捷的在Qt里面显示图像。 个人以为,在Qt里面你的widget上显示图像的最简单方法就是用QImage和QPaint。方法如下。 假设我们现在已经有了一个QImage的object。怎么有的,这里不管。 QImage *pCurImage;…首先,我们要定义两个区域,一个是widget里面的显示区域,我们把它叫做DisplayDestArea。另一个是image的区域,我们叫它DisplaySourceArea。在qt4里用QRectF来定义这两个区域。为什么?喜欢。 阅读全文
posted @ 2012-03-24 15:26 风行雪舞 阅读(862) 评论(0) 推荐(0)
非常好的BASH脚本编写教程
摘要: 这里有个老American写的 BASH脚本编写教程,非常不错,至少没接触过BASH的也能看懂! 建立一个脚本   Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell)进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行)。 阅读全文
posted @ 2012-03-23 10:39 风行雪舞 阅读(518) 评论(0) 推荐(0)
循序渐进学Python:三种选择语句
摘要:这里有个老American写的 BASH脚本编写教程,非常不错,至少没接触过BASH的也能看懂! 建立一个脚本   Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell)进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行)。 阅读全文
posted @ 2012-03-22 14:20 风行雪舞 阅读(872) 评论(0) 推荐(0)
循序渐进学Python:安装、使用与运行程序
摘要:Python是一种功能强大的解释执行自动编译的动态型语言,面向对象的同时还支持面向过程的编程,有灵活方便数据结构,拥有大量优秀的模块,语法清晰、简洁,而且可以在众多的平台上运行,非常适合于完成各种高层任务。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,鉴于此,从本文开始笔者将向读者陆续介绍Python编程的有关知识。虽然Python能支持多种平台,但是我们这里以Windows系统作为我们的工作平台。现在,我们先从准备工作开始做起吧! 阅读全文
posted @ 2012-03-22 13:58 风行雪舞 阅读(329) 评论(0) 推荐(0)
Qt 提取文件(exe, dll等)中的图标icon
摘要:Qt提取不同文件格式(exe, dll等)中的图标icon 阅读全文
posted @ 2012-03-21 21:48 风行雪舞 阅读(1655) 评论(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 风行雪舞 阅读(1924) 评论(0) 推荐(0)
Qt中translate、tr关系 与中文问题
摘要:题外话:何时使用 tr ? 在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人: •(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr •(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:◦(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) ◦(2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 阅读全文
posted @ 2012-03-21 21:29 风行雪舞 阅读(1372) 评论(0) 推荐(0)
Qt的进度条实现
摘要:今天下午动手实践了一下QProgressBar,遇到的问题比较多,浪费了不少时间,但收获同样颇多... 程序界面如下: 阅读全文
posted @ 2012-03-21 21:26 风行雪舞 阅读(1391) 评论(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 风行雪舞 阅读(1021) 评论(0) 推荐(0)
小小换行符乱谈(文本文件vs二进制文件)
摘要:使用 C 语言的 fopen 打开文件时,可以指定的 mode 有 12 个,其中 6 个包含"b"使用 C++ 的 fstream 打开文件时,可用的模式组合有 24 个(?),其中 12 个包含"binary"使用 python 的 open 打开文件,除了可以使用 C 中的 12 个模式外,还可以使用"U" 或 "rU"使用 Qt 库的 QFile 打开文件时,可以指定QIODevice::Text或不指定...如此种种,看起来是如此的复杂,难怪很多刚接触编程的网友都不相信(或者不想相信): 阅读全文
posted @ 2012-03-21 20:54 风行雪舞 阅读(983) 评论(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 风行雪舞 阅读(8151) 评论(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 风行雪舞 阅读(598) 评论(0) 推荐(0)
QT进度条
摘要:在QT中可以用QProgressBar或着QProgressDialog来实现进度条。 QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 ui-progressBar-setRange(0,50000-1); ui-progressBar-setValue(0); 阅读全文
posted @ 2012-03-20 18:47 风行雪舞 阅读(1298) 评论(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 风行雪舞 阅读(1683) 评论(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 风行雪舞 阅读(2656) 评论(0) 推荐(0)
step into/step out/step over的区别
摘要:step into就是单步执行,遇到子函数就进入并且继续单步执行; step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。 step out就是但单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。 step into:进入子函数 step over:越过子函数,但子函数会执行 step out:跳出子函数 阅读全文
posted @ 2012-03-20 05:27 风行雪舞 阅读(3047) 评论(0) 推荐(0)
QString和char字符串数组之间的转换
摘要:做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString;但是,在对串口设备进行读写时,数据使用的形式都是char型指针(不知道是不是我理解的不透彻),所以就要解决QString和char型数组之间的转换。 查阅了一些资料,并经过自己的验证,找到了下面的解决办法: 阅读全文
posted @ 2012-03-20 05:25 风行雪舞 阅读(19402) 评论(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 风行雪舞 阅读(896) 评论(0) 推荐(1)
如何让插件加载到Qt Designer
摘要:本文介绍的是如何让插件加载到Qt Designer,插件是一种遵循一定规范的应用程序接口编写出来的程序,对于Qt Designer不多做介绍了,先看内容吧。本文介绍的是如何使自定义的插件加载到Qt Designer,对于插件,插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。第一步,需要创建自定义窗口部件。可以对一个已经存在的窗口部件进行子类化也可以直接对Qwidget 进行子类化,就可以创建自定义的窗口部件。我是采用子类化Qwidget的方法创建的窗口部件。 阅读全文
posted @ 2012-03-20 05:10 风行雪舞 阅读(1068) 评论(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 风行雪舞 阅读(1325) 评论(0) 推荐(1)
基于Qt Gui的Led控制显示程序
摘要:基于arm + linux的嵌入式软件开发,基本上的内容主要是:u-boot的移植,kernel的裁剪和相关驱动程序的设计,root-fs的制作,应用程序的设计,其中,应用程序主要包含两方面的内容:Gui的设计和逻辑控制程序的实现。在整个开发中,具有相当代码量的部分也就这么两个方面:驱动程序、应用程序。一般的开发板都有相关配套的底层驱动程序例程,开发者可稍加修改在工程项目中加以使用(其实我不知道这样是不是会触犯什么只是产权之类的东东,先凑着用吧)。第一,驱动程序的设计。很容易想到,Led在板子上是直接与CPU的GPIO引脚相接,即对相应GPIO的控制也就是对外设Led的控制,以下是Led作为. 阅读全文
posted @ 2012-03-16 05:44 风行雪舞 阅读(1414) 评论(0) 推荐(0)
Qt中addStretch的有趣应用
摘要:今天在使用addStretch,布局的时候,发现addStretch竟然是可以平均分配的,有意思。比如:QVBoxLayout *buttonLayout = new QVBoxLayout; buttonLayout->addStretch(1); buttonLayout->addWidget(Button1); buttonLayout->addStretch(1); buttonLayout->addWidget(Button2); buttonLayout->addStretch(1); buttonLayout->addWidget(Button 阅读全文
posted @ 2012-03-15 17:38 风行雪舞 阅读(1142) 评论(0) 推荐(0)
解析 Qt 程序在Windows 下发布
摘要:Qt 程序在Windows 下发布是本文要介绍的内容,不多说了,先来看内容,针对这个问题,其实 Qt 的 manual 中解释的已经比较清楚了。下面是我根据自己的理解和实验后写的东西,希望比Qt文档容易理解一点。下面不涉及静态编译(静态编译可以看看这儿),只包含动态编译(也就是Qt默认的情况),主要又分 mingw 和 msvc 两种情况:Mingw首先,我们需要生成 release 模式的可执行程序(不少同学抱怨,一个小小程序却需要100多M的动态库,就是因为用的debug)qmake mingw32-makerelease而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要my 阅读全文
posted @ 2012-03-15 04:56 风行雪舞 阅读(477) 评论(0) 推荐(0)
VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布
摘要:为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半。好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁。然后我们要到QT主页下载,QT4.7.4版的源码包qt-everywhere-opensource-src-4.7.4.zip,因为用源码包编译没那么容易出错;另外还有QT for VS 的插件qt-vs-addin-1.1.9.exe,这两个准备好就可以开始安装了。第一步:把源码包qt-everywhere-opensource-src-4.7.4.zip解压到D盘,把目录名字qt-everywhe 阅读全文
posted @ 2012-03-15 04:55 风行雪舞 阅读(795) 评论(0) 推荐(0)
Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
摘要:原文地址:http://blog.csdn.net/cjyl25/article/details/6899229首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版下载地址:http://qt.nokia.com/downloads-cn 最新是 4.7.4 版 还有一个mingw 4.4.5 静态编译版,用来解决mingwm10.dll、 libgcc_s_dw2-1.dll,两个DLL依赖的问题下载地址是:http://code.google.com/p/qp-gcc/downloads/list四个文件分别是. 阅读全文
posted @ 2012-03-15 04:53 风行雪舞 阅读(745) 评论(0) 推荐(0)
windows下 Qt 静态编译
摘要:似乎一直没有静态编译Qt的需求:一不在没有管理员权限的机器上使用,二不制作绿色软件,三...。动态编译工作得很好,再配合 nsis 制作一个安装包,有什么必要静态编译呢?但论坛中似乎总是不停有人问到静态编译的问题,似乎遇到问题的人挺多,用百度或google搜索"Qt静态编译"也能搜到相当多的内容。正好利用周末时间,自己尝试编译一下,顺便整理一下,看看到底会发生什么(尽管以后还是用动态编译)。没特殊说明的话,以下讨论的是 MSVC2008 下的情况:静态编译?或许有两个层次:编译出的程序不依赖 QtCore4.dll、QtGui4.dll 等 Qt 的静态库编译出的程序不依赖 阅读全文
posted @ 2012-03-15 04:28 风行雪舞 阅读(1306) 评论(0) 推荐(0)
在Windows下部署QT程序的总结
摘要:Table of Contents引用说明: 部署发布QT程序有两种方法 一、静态编译 1 编译QT。 2 编译程序。 3 加入插件 4 加入LIBS 5 解决MinGW的mingwm10.dll依赖问题 二、动态编译 引用说明:本文原址链接:http://hi.baidu.com/jzinfo/blog/item/c17c3f6d4ff439fe431694c3.html以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows)部署发布QT程序有两种方法第一种,静态编译,可生成单一的可执行文件。 第二种,动态编译,需同时附上 阅读全文
posted @ 2012-03-15 04:26 风行雪舞 阅读(560) 评论(0) 推荐(0)

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