
Qt
「已注销」
这个作者很懒,什么都没留下…
展开
-
关于QPushButton的一些小细节
在公司进行一个project的时候,需要用到大量的Button控件,这里边出现了很多很有意思的小问题,我觉得还是很需要注意的。 1:建一个QPushButton对象,当往上边贴一张image时,在windows下是没有问题的,但是对于Qt for symbian而言:贴上去的图片纹理却会变淡,这个我曾反复测试过,包括在4.5.2和4.6.2上边,确实存在这个问题,应该属于一个系原创 2010-04-02 23:23:00 · 4508 阅读 · 2 评论 -
PIMPL模式
<br /> 进行跨平台的移植工作,这其中有些地方是无法完全移植过来的,所以:需要我们封装一个接口类,在不同平台下让其有不同的实现。要做到这一点:有很多办法,条件编译啊之类的。但是如果有这种方法,说白了:其还是两份代码,仅仅是放到同一个文件中。参考Qt实现跨平台的办法,正好读了一片这方面的文章,发现PIMPL模式还是很适用的。<br />----------------------------------------------------------//public.hClass Priva原创 2010-10-12 11:32:00 · 4644 阅读 · 1 评论 -
Qt生成灰度图
项目中用到大量基础图像处理知识,其中灰度图的生成是很重要的一环。 先补充一些基础知识:-----------------------------------------------------------------------------------------------------------------------------------一:灰度图 灰度图就是黑白图,整幅图片只有不同程度的黑白两色。灰度也可认为是亮度,简单的说就是色彩的深浅程度 ! 1:如果我们原创 2010-10-09 11:16:00 · 14490 阅读 · 15 评论 -
Qt-Mobility的使用
<br /> 项目中一些底层功能调用,想使用QtMobility来做,于是自己开始实际的接触。这其中遇到很多问题,我也参考过网上的一些文档,但也知道为什么,到我这始终是有问题的,这里补充总结下自己遇到的实际问题。<br /> <br /> 1:Qt-Mobility是搭建在symbian环境下,虽然也可以下载源码来自己编译win32 unix mac版本,但是我自己编译win32版本从来就没成功过,无论是g++还是nmake,总是提示源码中一些东西没有定义,我也搞不定这个,问了很多人都没原创 2010-09-13 12:07:00 · 7221 阅读 · 18 评论 -
Qt中父子widget的消息传递
<br /> 以前我一直以为:在父widget上摆一个子widget后,当click子widget时:只会进入到子widget的相关事件处理函数中,比如进入到mousePressEvent()中, 而不会进入到父widget的对应事件处理函数中。毕竟:click的是子widget,其遮挡住了父widget,从而父widget接收不到这个事件。然而事实真的是这个样子吗?<br /> 我做了一个测试: 在一个QWidget上建了一个QLabel。而后实现父QWidget的mousePressEv原创 2010-06-14 00:41:00 · 5782 阅读 · 6 评论 -
Qt与symbian特定格式类对象的转换
1:FbsBitmap转为QImage 应用场景:当使用摄像头时:拍摄的图像都是FBsBitmap,而如果要想让其显示在QWidget上,则需要首先将其转换成QImage格式。参数说明:aBitmap是传入参数,aImage是传出参数,当动态拍摄(相当于摄像)时:aStep为4; 当capture拍摄静态图片时:aStep为3.void FbsBitmapToQImage(CFbsBitmap* aBitmap,QImage* aImage,TInt aStep){ int aHeight=原创 2010-06-11 10:58:00 · 1311 阅读 · 0 评论 -
Qt for symbian工程文件的一些特异写法
symbian本身的工程文件不具有cross-platform特性,都是一些自己唯一的定义文件,像:*.mmp,*.pkg文件。而Qt得工程文件为*.pro。如何实现*.pro到*.mmp ,*.pkg文件的映射则值得总结。1:添加库对于添加库,无论是静态还是动态库,都需做两步:先是声名一下,其后是拷贝。二者仅仅是声名的方式不一样。1:声名:(1)动态库symbian:LIBS += MMP_RULES += "LIBRARY fbscli.lib"(这里我加的是名为fbscli的动态库原创 2010-06-11 10:29:00 · 1823 阅读 · 0 评论 -
Qt中如何实现QTextEdit中文字的单个删除 和 连续删除
前两天有人问我关于如题所示的问题,具体就是说:现在他想做一个按钮,当click它时:只删除编辑框中的一个文字,而当常按press时:则连续的删除文字,此后一旦release,则立即停止删除问题。 关于如何删除一个文字,这个很好实现,这里把重点放在:如何区分这两种状态上。 我在实现时:只用了一个定时器。总体为:当第一次press时间达到0.5s时开始连续删除,如果按压的时间不足0.5s即release,则只删除一个文字; 而连续删除文字时:是每隔0.1s删除一个,一旦中途re原创 2010-06-08 10:18:00 · 8413 阅读 · 5 评论 -
Qt中如何保存 自画图片 为 图片文件
<br /> 举两个应用场景:<br /> 1:画图板这种程序,当用户自己画了一幅图片之后,肯定需要保存成文件存放到某个路径下。<br /> 2:登陆一些论坛时:除去要填用户名和密码外,系统还会随机自动生成一张上边写有数字或者字母的验证图片,让你将上边的字符填入编辑框来进行验证。<br /> <br /> 其实上边第二个例子不怎么准确,因为虽然它也要依据系统提供的字符来自动生成一张图片,但是却不需要将其实际保存成图片文件,对于第一个例子则很准确:既需要实际生成一张图片,同时也原创 2010-06-05 00:29:00 · 12672 阅读 · 7 评论 -
Qt中如何禁掉所有UI操作以及注意事项
刚做完的一个项目,在测试时出现了一个问题:由于多线程的存在,当进行语音识别时:如果用户点击程序界面上的button或者其他widget,则会crash ! 后来尝试着从线程上去解决,但是比较困难;后来只能从另外一条路来解决,那就是:当语音识别进行时:禁掉一切用户操作! 所谓的禁掉一切UI操作,在手机等手持设备上,尤其是纯触摸屏的设备上,主要就是指的禁止mouse操作!当然了:也可能是禁止键盘操作等。那如何去做这一点呢? 方法:我们可以截获禁止操作的窗口的所有event事件,原创 2010-06-04 00:34:00 · 4694 阅读 · 7 评论 -
Qt程序换图标(windows and symbian)
1:对于Qt for Windows①准备一个图标*.ico文件(比如: myIcon.ico)②打开记事本,写一句: IDI_ICON1 ICON DISCARDABLE "myIcon.ico" 而后将其保存成*.rc文件(比如:myIcon.rc)③而后在工程文件*.pro中将该文件加进去。 win32 {原创 2010-05-28 09:28:00 · 2813 阅读 · 1 评论 -
Qt中如何定制个性化菜单
一个menu的样式是由其上边的菜单项决定的,所以要个性化定制菜单,其实就是要个性化定制各个菜单项。在Qt中菜单项是QAction类,但是如果直接用它的话:其样式是由系统所决定的,我们只能在上边写一些字符或者再加一个Icon. 但是有时候我们需要定制一个个性化的menu。比如:你的App整体风格为蓝色调,但是在Qt for symbian上系统菜单项却是黑色的,原创 2010-05-11 21:44:00 · 9560 阅读 · 9 评论 -
Qt中如何使用样式表QPalette以及相关注意事项
设置一个widget的背景图片/颜色,我们可以使用调色板QPalette,而设置最重要的就是setBrush()画刷。刚google搜索了一下,发现用setBrush基本都只用了它的一种方法,但实际上其有两种用法。 QPalette palette; 用法一:palette.setBrush(QPalette::Base, brush);原创 2010-05-09 02:53:00 · 9834 阅读 · 5 评论 -
Qt中各个widget前后位置的设定
这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系。 ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),und原创 2010-05-08 01:02:00 · 12569 阅读 · 4 评论 -
Qt信号槽机制的实现
<br /> 因为面试时问了我这道题,导致我想去了解信号槽到底是如何实现的,于是贴着顺序看了下源码,大致了解了整个框架。网上关于信号槽的文章也很多,但是大部分都是将如何应用的,这里我就写一下我所理解的如何实现吧, 由于时间仓促,源码阅读的也不甚仔细,难免导致最终理解有偏差或错误,大家看出了请一定指正。<br /> <br /> 首先:信号槽其实就是三部分组成:信号的声明,槽的声明和实现 以及 connect函数。这其中我觉得最重要的就是这个connect函数了。<br /> 1原创 2010-06-29 15:04:00 · 3866 阅读 · 5 评论 -
解决qt mysql出现的:无法加载驱动问题
帮同学做的毕业,这两天一个很大的问题困惑的我不行。毕设我是用qt + mysql来做的。结果在自己电脑上跑起来很正常,但是编译一个release版本,拿到另外一台电脑上就报错说:can't load driver 。 试图去解决这个问题,今天总算搞定,这里总结一下。 首先需要说明的是:我用的是qt for vc2005,qt4.5.0 mysql server5.5 整个流程: 1:首先我编译了一个release版本,而后用dependency walker查看了下库的依原创 2010-06-29 13:15:00 · 9817 阅读 · 10 评论 -
如何在pro文件中添加库文件(Qt for symbian)
在Qt for symbian开发时:有时需要将一些dll库文件拷贝到手机中,如果单纯是symbian编程则之需要修改下mmp文件和pkg文件,但如果是qt程序的话,我们只能通过修改Qt的pro文件来实现,下边是实现方式: 对于添加库,无论是静态还是动态库,都需做两步:先是声名一下,其后是拷贝。二者仅仅是声名的方式不一样。 (以下代码都是要加到pro工程文件中的)1:声名:(1)动态库原创 2010-04-28 20:51:00 · 4761 阅读 · 18 评论 -
symbian c++ 移植为 qt (1)
<br /> 最近一直在做一个项目,主要是将原本symbian c++写的工程移植为qt版本。这其中遇到N多问题,自己也鲜有总结,接下来几篇文章就总结一下这其中的一些方法经验和教训,大家一起交流。<br /> symbian发展到symbian3和symbian4之后:原本的symbian c++生存空间越来越小,而qt将最终成为主要的趋势。所以原本很多用symbian c++写的项目都面临着一个问题:要么最新版本全部推倒用qt重写,要么做移植。 可能很多人会说:symbian c++的框架原创 2010-12-09 22:09:00 · 3870 阅读 · 3 评论