keisuo |
2007-05-21 11:48 |
qt - CSDN tag
交叉编译QTE及QTOPIA的目标机版本(作者onebyte) export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH.为了编译QTOPIA,将QTOPIA文件夹下./src/qt/qconfig-qpe.h拷贝到QTE文件夹下 src/tools/将$QTEDIR/lib/fonts/fontdir拷贝到目标机上qt/e的安装路径上(通过在目标机上设置$QTDIR来实现),如/usr/local/qt-embedded/lib/fonts/fontdir.由于在编译qtopia时,需要用到QTE的uic命令来解释有关的资源,所以此处,需要将前面编译的qt-x11中bin目录下的uic命令拷贝至QTEDIR/bin下。export QTDIR=/friendly-arm/arm-qtopia/qt.export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib.
向远处看 - Fri, 18 May 2007 15:01:49 GMT 嵌入式linux系统开发概述 基于linux的嵌入式系统开发是一个很大的课题,涵盖了从硬件到软件设计的多个领域,由于linux的开源特性,导致开发中可以使用的软件和工具多不胜数,从最底层与系统硬件直接打交道的引导装载程序(bootloader),到linux操作系统的分发版(distribution),再到上层的图形用户界面(GUI)乃至应用程序(application),可供选择的软件实在是太多了,这对开发者来说是一种恩赐。一旦复制完这些文件,就卸装这个文件系统并且设备(/dev/ram)的内容被转储到一个文件(ext2ramdisk)中,它就是所需的 Ramdisk(Ext2文件系统)。
aaaaatiger - Mon, 14 May 2007 13:50:40 GMT QT的信号与槽机制介绍 信号的声明是在头文件中进行的,QT的signals关键字指出进入了信号声明区,随后即可 声明自己的信号。//信号声明区 signals: //声明信号mySignal() void mySignal(); //声明信号mySignal(int) void mySignal(int x); //声明信号mySignalParam(int,int) void mySignalParam(int x,int y); //槽声明区 public slots: //声明槽函数mySlot() void mySlot(); //声明槽函数mySlot(int) void mySlot(int x); //声明槽函数mySignalParam (int,int) void mySignalParam(int x,int y);}
feiyond - Sun, 06 May 2007 10:49:12 GMT SUSE LINUX 10.0 软硬件的安装和设置 原理是YaST先扫描源上的包(这么说不确切,如果有时间会说明具体YaST的工作流程和手动安装的方法,不过那应该算是中级教程),然后你来选择安装哪个和更新那个,然后YaST下载安装指定的包。安装方法:在安装源里面添加打开guru(其实你开那个Supplementary GNOME 2.12也行,就是安装完了以后d4x软件版本低一些);先点下一步把这些包都装上(也可以把上述几个包从packman的x86_64目录下载,找不到的去i586目录找,w32codec-all那个包挺大 的),然后再开YaST-软件管理,搜索mplayer(这个包在packman上,可以下载手动安装),安装。驱动安装:
k - Sat, 14 Apr 2007 09:31:43 GMT 解析LINUX下输入法环境变量XMODIFIERS/GTK_IM_MODULE XIM (X输入法, 所有 X 图形程序都是可用的)2. GTK immodule(GTK输入模块, 专给 GTK+2/Gnome 程序用的,GTK+ 1 不适用)3. QT immodule(QT输入模块, 专给 QT/KDE 程序用的)但是因为 c++ 的兼容性问题使 scim-gtk2-immodule 跟许多程序相冲突,故而在目前,如果我们使用scim的话,还不能流畅享受到GTK 输入模块的种种妙处,只能使用 Scim for XIM.注:mozilla, firefox, thunderbird 等不是正规的 GTK+ 2,没办法用鼠标动态选择输入法. 如果你仅仅使用GTK immodule的话, 一定要使用GTK_IM_MODULE指定默认的GTK 输入模块.
comcat - Fri, 06 Apr 2007 15:17:45 GMT RedHat9下面Qt Designer的开发实例 RedHat9下面Qt Designer的开发实例。2. 在Qt中新建项目工程文件。新建一个C++项目工程文件,注意在存放的路径上工程文件的名字要和对应的文件夹相一致。比如我们就建立在/home/jackie/cfconv文件夹下面,工程的文件名为cfconv.pro.
Jackie - Fri, 06 Apr 2007 11:57:56 GMT Linux GUI 开发包简介-GTK gtk(gimp toolkit)是一个库,用来写图形用户界面程序的。这样的库太多了,windows平台上有mfc、vcl等等,linux平台上更是层出不穷,而且好多都具备跨平台功能,比如Qt、wxWidgets、FLTK等等。gtk与这些库的不同点在于其完全使用C语言开发的。 上面只是说了gtk,但我要学习的是gtk+。它们之间有什么关系呢?gtk+的作者之一 Perter Mattis说他原来开发的gtk包含了三套函数库, libglib、libgdk,和libgtk,这些库没有采用面向对象机制,因而无法实现构件的复用,而且消息机制是使用标准的回调机制实现的,而非现在的gtk+所提供的信号机制。“+”是用来区分原始版本和新版本的。gtk+依然是完全使用C语言开发的,但在设计上灵活运用了面向对象设计(OOD)思想(谁说只有C++、java、C#这样的语言可以OOD呢?),虽然现在我不是很明白其具体技术细节,但想来,用C来做gtk应该比C++程序执行效率要高一些(当然这只是一种感觉而已,如果C程序写的不够好,不一定比C++高效)。用gtk+写的程序界面的视感很象Motif(Moti
Jackie - Thu, 05 Apr 2007 18:00:18 GMT Qt多线程的一些体会 (1) 带后缀-mt的库才是支持多线程的, 例如windows下面的qt-mt320.lib,其他平台libqt-mt(2)编译问题,要添加QT_THREAD_SUPPORT(3)针对线程里面而言,blocking(阻塞的) = synchronous(同步的 )non-blocking (非阻塞的) = asynchronous(异步的 ) 而Qt的signal/slot的事件机制都是基于主程序的线程的,因此所有的事件都是阻塞型的(blocking),也就是说除非你处理完某个slot事件,不然不会有下个事件被触发。
向远处看 - Mon, 02 Apr 2007 11:45:28 GMT 安装Qt-x11开发工具 3. 为Qt设置环境变量. 如果shell是bash, ksh, zsh或sh,那在你home目录下你的的名字的目录中,在.profile文件中追加如下环境变量:QTDIR=/usr/local//Trolltech/Qt-4.2.3/PATH=$QTDIR/bin:$PATHMANPATH=$QTDIR/doc/man:$MANPATHLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport QTDIR PATH MANPATH LD_LIBRARY_PATH 如果你的shell是csh或tcsh,那在你目录下的.login文件中加下如下:4. 配置安装 执行configure来对Qt的库和Qt工具进行配置: 到你解压开的工具包目录下执行 ./configure.
DaySummer - Wed, 04 Apr 2007 09:13:21 GMT log 感觉qt3-designer明显比qt4好用,不知道为什么qt4里面的designer丢掉了qt3里面ide的功能。另外,qt3里面的QThread明显没不好用,我倒希望能像pthread那样简单的,或者像boost中的线程那样好用,可惜qt3里面只支持QThread。
xjyhust - Sat, 31 Mar 2007 01:30:17 GMT QT与SCIM引起的问题 上周安装FSL,其中的FSLview 总是崩溃。遍寻数日解决方法,不得。不过据数日来的追寻,今日隐约感觉问题所在,果然。export QT_IM_MODULE=xim解决问题。但是这样每次都需要在terminal中先输入这条命令再在terminal中启动FSL。一劳永逸的方法:用root帐户 修改文件/etc/X11/xinit/xinput.d/aux/scim-qtimm,把QT_IM_MODULE=scim改为QT_IM_MODULE=xim。注销重登录,ok参考: mandriva 2005 中reallplay10出问题了linux下SCIM的配置方法输入法与环境变量HOWTO解析环境变量XMODIFIERS/GTK_IM_MODULELINUX系统环境变量解决ubuntu下skype和scim不兼容情况附:出错信息[user@acer ~]$ fslview/usr/local/fsl/lib/fslview/bin/fslview: /usr/lib/libGL.so.1: no version information available (required by /u
RenV - Sat, 31 Mar 2007 15:18:03 GMT Qt4开发的IP地址切换器 下载地址:http://download.enet.com.cn/html/010702007032301.html
fxsjy - Sat, 24 Mar 2007 12:54:52 GMT EDB Linux Debugger 0.8.3 Release 引用: 0.8.13 released, adding a few fixes and a few new features.* Added getting of working directory and arguments from attached processesthis makes restarting work much better (which is now enabled).* started work on restart code, seems to work ok.
linhanshi - Thu, 22 Mar 2007 11:40:52 GMT 工作日志( 2007-3-6---3--18 在大致观察了一下Guichan的机制后,我就决定把Guichan结合进HGE引擎。HGE社区很多人都有自己的一套扩展HGE GUI控件。如果能把Guichan结合进HGE,HGE就会有一个很适合它的GUI库,并且有强大的社区支持。有些人把CEGUI结合进了HGE,但是我个人觉得CEGUI并不适合HGE,因为CEGUI相对于HGE来说过于庞大,并且其API也很复杂。第一个版本做的很顺利,毕竟我只需要组织HGE的一些接口到另一种Guichan识别的接口即可。并且要求我如果要把这个HGE版本真正地结合进Guichan,还需要我把代码的注释改成doxygen识别的形式,这样利于后面产生文档。
kevinlynx - Sun, 18 Mar 2007 21:21:47 GMT Qt 多线程的一个例子 (2)Project Settings里面Link标签页面添加qtmain.lib qt-mt320.lib Project Settings里面C/C++标签页面添加QT_THREAD_SUPPORT.class MyThread : public QThread { public: virtual void run();void MyThread::run(){MyThread a;Each MyThread stops executing when it reaches the end of MyThread::run(), just as an application does when it leaves main().
向远处看 - Sat, 17 Mar 2007 10:30:36 GMT 关于POS的各种外设处理(包括打印机、钱箱等)(PB) 现把POS的各种外设处理整理如下,可能还有许多不全或者代码不正确的地方,望大家补充且指证 POS的外设包括打印机、钱箱、顾显、卡、扫码枪和扫码平台。 一般的外设编程可以通过PB通过的串口编程,也有部分特殊的,可由厂家直接提供技术支持。 各种外设如果接的是COM,必须在打开的时候,让其初始化,一般卡可在刷卡的时候再初始化,刷卡结束后,再把COM口关闭。因为如果COM已被某一外设打开,另一外设将不可用,即COM口是独占的。 一、打印机 POS的外设包括打印机、钱箱、顾显、卡、扫码枪和扫码平台。 一般的外设编程可以通过PB通过的串口编程,也有部分特殊的,可由厂家直接提供技术支持。 各种外设如果接的是COM,必须在打开的时候,让其初始化,一般卡可在刷卡的时候再初始化,刷卡结束后,再把COM口关闭。因为如果COM已被某一外设打开,另一外设将不可用,即COM口是独占的。 一、打印机 申明 /*210D´串口打印*/ Function boolean OpenSerPort(int iPt
水月邪神(zyc21st) - Wed, 14 Mar 2007 17:14:12 GMT 如何创建WML电话薄(二) Fields("first_name") &vbCrLf &_"<go href=http://www.builder.com.cn/2007/0118/data.asphttp://www.builder.com.cn/2007/0118/ method=http://www.builder.com.cn/2007/0118/posthttp://www.builder.com.cn/2007/0118/>" &vbCrLf &_"<postfield name=http://www.builder.com.cn/2007/0118/pidhttp://www.builder.com.cn/2007/0118/ value=http://www.builder.com.cn/2007/0118/" &rs.
builder.com.cn - Thu, 18 Jan 2007 13:54:00 GMT 如何创建WML电话薄(一) WML是如何工作的WML是基于deck-of-cards(一套纸牌)的原理,即类似于在一套纸牌中控制数量一定纸牌的方式来管理服务的。当移动设备请求WAP服务器时,它是针对整套卡片组的(类似于一套纸牌)而不是某一个页面(类似于某张纸牌)发出请求。除了WML基于XML 1.0标准这一特点之外,WML类似于HTML。基于WML 1.1标准的WML文件开头如下:<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">此代码指定了这是一个XML文档,并且属于WML类型。
builder.com.cn - Tue, 16 Jan 2007 10:21:11 GMT 跨平台的GUI Framework : Qt 再来看Microsoft的Visual C++,MFC用的是完整的ANSI C++语言,所以语言部分不是问题,但若你看过用MFC写的程序,你一定会惊讶为什么这么复杂,程序代码非常冗长不好看,且MFC是有名的喃学,若Visual C++搭配.NET Framrwork,则无法使用ANSI C++,得用其.NET平台版本的C++/CLI,相信这点很多人就有意见了,不过.NET Framework由于设计的不错,所以写出来的程序相当精简漂亮,感觉和C++ Builder差不多,不过无论是C++ Builder或Visual C++开发的GUI,所开发出来的程序都无法跨平台,当然也无法跨平台Compile。
真 OO无双 - Sat, 14 Oct 2006 00:00:00 GMT Qt Library There is a C++ libary called Qt, reminds myself that although programming language does not care much, but it determines programmer community, which shapes a programmer.
fei - Sun, 28 May 2006 00:00:00 GMT 各种类自由软件的许可证释义 各种类自由软件的许可证释义就我个人理解,从私有软件(即我们平常所说的封闭源码软件)到GNU所倡导的自由软件之间有许多中间地带,这一方面是一个现实存在的现象,同时也是由软件复杂多样性密不可分的。GPL: 我感觉GPL协议与后面要提到的各种许可证协议最重要的区 别,也是GPL的最大特点就是要求所有对GPL软件的更改必须 仍然遵循GPL许可证,不可以将GPL的软件更改后变成某些 人的私有软件,GPL软件也不能与其他非GPL的软件融合成 一个转有软件。该许可证的软件是否允许他人更改,更改后的结果是否需要反馈 给原创单位。
我们的游戏世界 - Wed, 12 May 2004 00:00:00 GMT 在Qt/Embedded 2.3.8中添加MX21Ads键盘处理 经过查看源代码发现Qt的键盘处理是判断环境变量QWS_KEYBOARD再加载相应的键盘处理拦截类, 而qt已经包含了几个典型的键盘处理,只要以它们为蓝本即可编写自己的处理类! 一下我以 vr4xx为模板, 建立QWSMx21ButtonsHandler键盘处理类! 以下是相关实现代码,QWSMx21ButtonsHandler::~QWSMx21ButtonsHandler() {} else if ( type == "MX21" ) { //这是我们添加的MX21键盘处理类 handler = new QWSMx21ButtonsHandler(); } else { qWarning( "Keyboard type %s:%s unsupported", spec.latin1(), device.latin1() ); }
arthas.kang - Fri, 18 May 2007 15:19:57 GMT QT/Embedded 2.3.8 MX21ADS板移植 3. 修正bugtmake和qt-embedded-2.3.8在arm平台上有几个小bug, 在链接时使用arm-linux-gcc而不是arm-linux-g++首先修正tmake打开tmake/lib/qws/linux-arm-g++/下的tmake.conf将其中的TMAKE_LINK和TMAK_LINK_SHLIB都修正为arm-linux-g++TMAKE_LINK = arm-linux-g++TMAKE_LINK_SHLIB = arm-linux-g++然后就是qt-embedded下configs/linux-arm-g++{static/shared/static-debug/shared-debug}这几个arm配置中的定义SYSCONF_LINK SYS_CONF_LINK_SHLIB 都修正为arm-linux-g++.
arthas.kang - Thu, 17 May 2007 10:24:00 GMT puzzle 接了一个QT写小游戏的项目,找到一个QT3编写的比较不错的开源的,现在改写到QT4,遇到一些问题。总结一下,首先需要先看看帮助中的Porting to Qt 4一节,详细介绍了迁移过程。下面是我自己开发中遇到的:0。可以使用qt工具qt3to4把Qt3的程序代码移植成QT41。有些函数,在QT4中以打算不支持,使用#ifdef QT3_SUPPORT宏进行控制,如果用户仍然想用这些函数,需要在编译的时指定这个宏。但不建议使用旧版本的函数啦,所以,你可以查看旧函数的源代码,自己直接调用它调用的其他代替函数。比如QDialog有个setCaption函数,我们可以使用setWindowTitle来代替,等等。2。有些类也进行了修改,如QButtonGroup的基类由QWidget改成了QObject,因此变成了不可见的widget了。不在有标题以及其他界面的函数,也不能直接和layout进行关联。这个时候我们可以借助QGroupBox 来实现原来QButtonGroup的一些旧的和界面相关的功能。参考下下面的例子:http://hi.baidu.com/ediwon/blog/item/9
owe - Wed, 16 May 2007 23:44:48 GMT MagicLinux下的开发工具 KDevelop中c/c++的IDE: KDevelop中界面设计师:QT界面设计:UML建模工具:
xiaoqiang1894 - Sun, 13 May 2007 18:44:01 GMT link Qt 出现 undefined reference to vtable for "xxx::xxx" 遇到一个问题,某一个类中如果加入Q_OBJECT后,则link时提示:undefined reference to vtable for "xxx::xxx",删掉它则没有任何问题.在查找解决方法的时候,附带发现一点:qmake 不会处理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的话,也会产生undefined reference to vtable for "xxx::xxx". 这时,需要先用moc xxxx.cpp生成相应的moc文件,再包含到.cpp里面去,才能解决这个问题。我找了好多源码之类的问题,就是没有找pro的错误,后来想到qt中moc我们是有make做的,qt的make编译是根据Makefile来的,而Makefile是由pro文件来的。
freedawn - Thu, 10 May 2007 22:09:54 GMT 今天的工作就这个东西了 APAP_TOWNID = id and cutreply.apap_zt = ‘3‘ and cuttree.TRSS_APAPID = cutreply.APAP_ID; return rc; end if; if type1 = 2 then select sum(cuttree.TRSS_SCFL) into rc from CF_APPLYAPPROVE cutreply,CF_TREESPECIES cuttree where cutreply.APAP_BXND = yearNum and cutreply.APAP_TOWNID = id and cutreply.apap_zt = ‘3‘ and cuttree.TRSS_APAPID = cutreply.APAP_ID; return rc; end if;
- Thu, 10 May 2007 20:08:53 GMT 如何在minicom下运行可键盘中断结束的qt-embedded程序 使用nfs在minicom下调试qte程序时,由于缺省情况下,qte server 会强占键盘,并且使它以写后读模式打开,所以我们在minicom下运行qte程序时,无法用ctrl+c结束它,但当我们试图在运行程序后面加 ‘&‘ 符号,使它在后台运行时,通常LCD会没有反应,程序不会运行,这样每次调试都要重新reset板子,很是郁闷。想让程序在后台运行可以用键盘中断结束,需要程序运行时添加参数 -nokeyboard,假如你的程序是 helloworld,像下面那样运行:[root]# ./helloworld -qws -nokeyboard按crtl+c就可以结束它。
duwchy - Thu, 17 May 2007 11:31:08 GMT 6-5 可停靠控件和工具栏(Dock Widgets and Toolbars) 可停靠控件能够停靠在QMainWindow中或者作为一个独立窗口浮动。用户可以拖动标题栏把窗口从一个可停靠区域移动到另一个可停靠区域。在Qt的早期版本中,工具条也是作为可停靠控件,可以放置在任何可停靠区域中。下面的代码将一个现有的控件(如QTreeWidget)放置到QDockWidget中,停靠再右边的停靠区域。在上面的代码允许用户把窗口拖动到左边或者右边的可停靠区域,这两个地方垂直控件足够显示一个树型控件。如果没有指定停靠区域,用户可以拖动控件到任何四个可停靠的区域。
暳彼小星 - Thu, 10 May 2007 08:49:21 GMT Qt4 + KDevelop3.3 的开发方式 接下来开始编码,大体上可以分成两种方式直接编写代码和用可视化的Qt Designer自动生成代码。直接编写代码可以用KDevelop做为工具,其中新建项目中选择Qmake项目,使用它可以免去了不断输入qmake -project 和 qmake *.pro的麻烦。使用Qt Designer生成 *.ui文件,可以直接qmake -project 后,载qmke *.pro编译,如果需要查看和修改源文件,则可以使用uic *.pro生成 .h 和 .cpp的文件。使用Qt Designer设计完成的ui文件,qmake -project后,可以直接在KDevelop中"导入已有项目",然后编写个main.cpp则可以直接运行。
freedawn - Fri, 11 May 2007 10:40:54 GMT Qt学习笔记一 首先需要注意的是,Qt3 和 Qt4的区别较大,许多库函数都有改变,如果用Qt3的代码在Qt4的编译器上运行,则有很大的概率会出错,所以学习资料和使用的Qt版本一定要配套。装FC6的时候,默认装了Qt3.3,而其中的Qt assistant不能直接使用,解决方式是再装个Qt4,使用Qt4的assistant。
freedawn - Wed, 09 May 2007 14:34:20 GMT Qt学习笔记一 首先需要注意的是,Qt3 和 Qt4的区别较大,许多库函数都有改变,如果用Qt3的代码在Qt4的编译器上运行,则有很大的概率会出错,所以学习资料和使用的Qt版本一定要配套。装FC6的时候,默认装了Qt3.3,而其中的Qt assistant不能直接使用,解决方式是再装个Qt4,使用Qt4的assistant。
freedawn - Tue, 08 May 2007 22:35:55 GMT 在windows平台下安装运行qt4.3 到qt官方下载qt4.3默认安装设置环境变量 path qt的bin的目录下载MinGW默认安装设置环境变量 path MinGW的bin的目录。qt用的编译器是g++所以得安装MinGw须将MinGW的bin的目录设置到环境变量 path中否则使用make命令时会出现这样的错误:mingw-make既不是命令,也是不有效的批处理文件我们只要打开qt bin目录下的make,看看它的内容就会明白为什么会出这样的错误了@echo offmingw32-make %*
dreamcs - Mon, 07 May 2007 22:45:20 GMT Qt书籍及开发环境(转:linux宝库) 最近发现Qt真是个好东东啊,兴奋得好几个晚上睡不着觉....终于可以快速开发跨平台的图形界面的程序了下面向大家隆重介绍一下:Qt企业版和Qt专业版 提供给商业软件开发。Qt自由版是Qt仅仅为了开发自由和开放源码软件 提供的Unix/X11版本。Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本。
小鱼飞刀 - Mon, 07 May 2007 21:26:16 GMT 开始学学QT了! 没想到五一期间图书馆还开门,呵呵,借到一本还不错的QT程序设计的书!当然学习QT的设计完全是准备当成业余爱好,主要用到C++,我还是集中精神在驱动和内核方面,但是我想能够对整个产品的全线设计都有点了解还是比较好!本来可以在应用层完成的功能要我去驱动层完成,那就太~~~~~~~~
kring - Mon, 07 May 2007 14:43:06 GMT Qt-embedded-3.2.3到PXA270上的移植 1.下载软件包ftp://www.trolltech.com/qt/source/qt-embedded-free-3.2.3.tar.gz2. 解压tar vxzf qt-embedded-free-3.2.3.tar.gz -C /root/qt/qt-embedded-free-3.2.33. 添加触摸屏驱动修改 src/embedded/qmouselinuxtp_qws.h 添加 #define QT_QWS_IPAQ 定义,或者在交叉编译时添加编译参数 -DQT_QWS_IPAQ效果也是一样的。/bin/shexport QTEDIR=`pwd`export QTDIR=$QTEDIR#下面指定我的交叉编译器的目录路径export PATH=/opt/host/armv4l/bin:$PATHexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH.
duwchy - Sat, 05 May 2007 20:58:47 GMT 移植 Qtopia-core-opensource-src-4.3.0beta 到 PXA270 移植这个qtopia-core比较麻烦,由于我的编译器是ARM-GCC-2.95的,有很多地方要修改才能交叉编译成功。1.下面是需要修改的文件或者配置的详细情况:1).修改 src/corelib/kernel/qvariant_p.h 文件的 v_cast 函数template <typename T>inline const T *v_cast(const QVariant::Private *nd, T * = 0){
duwchy - Sat, 05 May 2007 21:00:50 GMT qt/X11使窗口没有边框并且不在任务栏里显示 MainForm::MainForm(QWidget *parent, const char *name):MainFormBase(parent, name, Qt::WStyle_NoBorder | Qt::WStyle_Customize // <--- set flags here )...
stlxv - Wed, 02 May 2007 12:50:49 GMT 呵呵,今天用qt做了一个人物动画编辑器。 呵呵,使用了,qt的xml部分。
qoozone - Sat, 28 Apr 2007 12:35:25 GMT 呵呵,今天用qt做了一个人物动画编辑器。 呵呵,使用了,qt的xml部分。
qoozone - Sat, 28 Apr 2007 12:35:24 GMT unicode utf8编码判断 /*!\class bool xxx::isUtf8(const char *str) * \brief utf8编码编码判断函数 * \param 无 * \author qqqmal * \version 无 * \exception 无 * \return 无 */ bool xxx::isUtf8(const char *str) { unsigned int len = strlen (str); unsigned int counter = 0; unsigned char head = 0x80; unsigned char tempStr; unsigned int gbNum = 0,utf8Num = 0; bool gb2 = FALSE;/*第二个字节是否为汉字 */ for (int i=len-1; i>=0; i--) { tempStr = (unsigned char)str[ i]; /*GB判断, gb范围:第一字节161~247,第二字节161~2
qoozone - Sat, 28 Apr 2007 12:41:44 GMT 关于qt国际化的问题 关于qt国际化qt对国际化有很好的支持。比如在默认情况下QMessageBox::information(this, "Test", "这是一个测试");中文字符无法正确显式又如bool connect(const char * connectString);你如果输入QString str("一个测试");connect((const char*)str);默认是调用QString.latin1()方法,是直接从Unicode的QString返回latin-1字符表示集。当显示一个const char*时,qt会将const char*再行转成unicode。
qoozone - Sat, 28 Apr 2007 12:28:05 GMT 关于qt4.2.3的安装。使用编译器是vc8或者是vc2005 没有打sp1 在windows xp 下 先说明一下机器配置:core2 e6300内存 2g其实我最早安装的是qt3,呵呵,由于现在升级了,我也得跟上时代。因为是企业用,所以安装的版本是商业版的。版本是qt-win-commercial-src-4.2.3因为商业版本的configure时候需要一个.qt-license文件(3)设置环境变量:我的设置如下:QTDIR =c:\qt-win-commercial-src-4.2.3QMAKESPEC =win32-msvc2005PATH=%QTDIR%bin(4)进入命令行控制台,在c:\qt-win-commercial-src-4.23下执行configure就ok了,然后是nmake这个时候,可以看场电影,或者打局魔兽什么的都可以,大约2个小时左右吧。
qoozone - Sat, 28 Apr 2007 12:25:31 GMT 6-3 分隔控件(Splitters) 下面是创建图6.7的窗体的代码:int main(int argc, char *argv[]){ QApplication app(argc, argv); QTextEdit *editor1 = new QTextEdit; QTextEdit *editor2 = new QTextEdit; QTextEdit *editor3 = new QTextEdit; QSplitter splitter(Qt::Horizontal); splitter.addWidget(editor1); splitter.addWidget(editor2); splitter.addWidget(editor3); ... splitter.show(); return app.exec();}Figure 6.7. The Splitter application.
暳彼小星 - Thu, 26 Apr 2007 20:44:28 GMT 6-2 分组布局(Stacked Layouts) QStackedLayout类把子控件进行分组或者分页,一次只显示一组或者一页,隐藏其他组或者页上的控件。连接QListWidget的信号currentRowChanged(int)和QStackedLayout的函数setCurrentIndex(int)连接,改变QListWidget的当前项时换页。这样的对话框使用Qt Designer会更加简单:1. 用"Dialog"或者"Widget"模板创建一个窗体、2. 在窗体上增加一个QListWidget和一个QStackedWidget控件。连接QListWidget控件的currentRowChanged(int)信号和QStackedWidget控件的槽setCurrentIndex(int)。
暳彼小星 - Thu, 26 Apr 2007 20:37:59 GMT 第六章序-布局管理(Chapter 6. Layout Management) 窗体上的所有的控件必须有一个合适的尺寸和位置。使用这些Qt布局管理类的另一个原因是,在程序改变字体,语言或者在不同的平台上运行时,布局管理器能够自动调整窗体里所有控件的大小和尺寸。这些类的共同特点是提供了更加灵活的布局管理,在一定程度上用户能够控制窗体内控件的大小。
暳彼小星 - Tue, 24 Apr 2007 22:15:36 GMT 5-4 双缓冲技术(Double Buffering)(4、私有函数的实现) Qt也提供了一个类QRubberBand用来绘制橡皮线,但是控件自己提供的绘制函数会更好void Plotter::refreshPixmap(){ pixmap = QPixmap(size()); pixmap.fill(this, 0, 0); QPainter painter(&pixmap); painter.initFrom(this); drawGrid(&painter); drawCurves(&painter); update();}函数refreshPixmap()把plot绘制到图片上,并且更新控件。在这个函数中,我们使用了一个QPainter绘制图片,QPainter::initFrom()设置绘制图片所需画笔,背景和字体,参数this表示这些设置和Plotter控件的相应设置是一致的。
暳彼小星 - Tue, 24 Apr 2007 22:10:52 GMT 5-4 双缓冲技术(Double Buffering)(3、事件处理函数) 以下是Plotter控件的事件处理函数部分.QStylePainter::drawPrimitive()函数调用QStyle的同名函数,绘制控件的一些基本原色,如面板,按钮,焦点矩形等。对于Plotter,我们使用两个方式的组合,焦点矩形用QStyle样式绘制,zoomIn和zoomOut按钮为Qt提供的控件。如果用户向上或者向下移动鼠标,rubberBandRect的右下角可能会到达它的左上角的上面或者左面,QRect的width和height会出现负值,在paintEvent()函数中调用了QRect::normalized()函数,它可以重新计算矩形的左上角和右下角的坐标值,保证得到一个非负的宽和高。
暳彼小星 - Tue, 24 Apr 2007 22:06:20 GMT 5-4 双缓冲技术(Double Buffering)(1、简介和源代码部分) 第二部分为Plotter控件的公有函数的实现,第三部分为Plotter的事件处理函数的实现,第四部分为Plotter控件的私有函数实现,第五部分为辅助类PlotSettings的实现。首先看一下头文件的代码(对头文件的解析在代码中用注释的形式给出):#ifndef PLOTTER_H#define PLOTTER_H #include <QMap>//包含的Qt的头文件#include <QPixmap>#include <QVector>#include <QWidget> class QToolButton; //两个前向声明class PlotSettings; class Plotter : public QWidget{#include "plotter.h"Plotter::Plotter(QWidget *parent) : QWidget(parent){
暳彼小星 - Tue, 24 Apr 2007 21:51:31 GMT qt designer布局:随着窗口大小变化 终于明白,该怎么做了只要在窗体的空白处点右键再选布局就可以了
stlxv - Tue, 24 Apr 2007 21:31:00 GMT 拒绝了一次转型 虽然不喜欢Delphi,但也不喜欢Web.相信QT
speme - Tue, 24 Apr 2007 19:32:29 GMT QT3.3中QTimer使用类变量中对象指针时的Bug; 先描述一下整个代码的情况,有这么两个类,一个是QA,一个是QB,在QA类中有这么一个方法func,它初始化一个QB类的实例;QB的这个构造函数如下:QB::QB(QString *pv_str)...{ // this->pm_str = pv_str; // pm_str是一个QString *的QB的类变量;上面是代码说明,总结一下就是,现在要在QB中的Timer结束时打印输出由QA传给QB的QString;因为把QB::on_timer_done()中的这个打印语句放到QB中的其他方法中使用,是可以正确无误通过的,但是只要放到qtimer中的执行槽中,就一定出段错误,所以,这里报个qt的bug,嘿嘿。。。
lsosa - Wed, 25 Apr 2007 09:02:48 GMT fc6下用KDevelop开发Qt4 fc6自带的是qt3.3.所以需要自己安装qt4,安装qt4和设置环境变量的过程见我的上一篇文章http://blog.csdn.net/yang_dk/archive/2007/04/23/1576486.aspx.在终端输入echo $QTDIR如果出来的是/usr/lib/qt3.3,那么回去重新设置环境变量如果出来的是/usr/local/Trolltech/Qt-4.2.3之类的,ok!往下走(需要提到的一点是,安装了Qt4之后,不要安装KDevelop的新版本3.4.0,它不认qt4,configure的时候会出错,我还没弄明白为什么,无论如何就是不能通过。
yang_dk - Tue, 24 Apr 2007 13:37:37 GMT QTable中header高度 在QTable中,如果我们把horizontalHeader的高度设置的比较大的话,很可能会覆盖掉QTable中的一些内容,在Qt 2.3中,QTable不会根据horizontalHeader自动调整,所以我通过如下方法解决:这样,horizontalHeader就不会覆盖掉QTable中的东西了。
siddontang - Tue, 24 Apr 2007 09:52:05 GMT QWidget在QPopupMenu显示 在QPopupMenu中,如果我insert a widget,如果这个widget直接继承于QWidget,他很可能无法正确显示,即使设置了该widget的geometry也不行,我的解决方法如下,在创建widget的构造函数中:QScrollView *view = new QScrollView(this);QWidget *container = new QWidget(view->viewport());
siddontang - Tue, 24 Apr 2007 09:52:21 GMT fc6下找不到Qt assistant的问题的解决方法 fc6默认安装了Kdevelop3.3.?和qt3.3.6,但是qt的assistant并没有安装,所以在敲入assistant之后并没有出来预想中的qt assistant,而是蹦出来一个错误说 /usr/share/doc/qt-devel-3.3.6/html/index.html 找不到因为assistant命令打开的是$QTDIR/bin下的assistant,assistant链接到/usr/share/doc/qt-devel-3.3.6/html/index.html,而默认的/usr/share/doc/qt-devel-3.3.6/html/index.html却并没有安装,所以肯定找不到。建议解决办法:安装qt4并使用qt4的assistant步骤:1、下载安装包,比如我用的是 qt-x11-opensource-src-4.2.3.tar.gz2、解压,输入命令 tar -zxvf qt-x11-opensource-src-4.2.3.tar.gz 会在这个目录下生成一个名为qt-x11-opensource-src-4.2.
yang_dk - Mon, 23 Apr 2007 19:34:22 GMT ubuntu7.04中Scim的几个问题的解决方法 将默认的 GTK_IM_MODULE=scim 修改为 GTK_IM_MODULE="scim-bridge"# exported enviroment variablesXMODIFIERS="@im=SCIM"GTK_IM_MODULE="scim-bridge"QT_IM_MODULE="xim"# command and arguments to invoke scimXIM_PROGRAM="/usr/bin/scim"XIM_ARGS="--daemon"# package dependency (note that the format used here is not environment# variable, but some format for libapt-pkg-perl and is parsed by grep,# so can‘t be quoted, and no spaces allowed)DEPENDS=scim-gtk2-i
Crazy7 - Sun, 22 Apr 2007 20:44:44 GMT 使用vc编译psi 这里将产生src.dsp psiwidgets.dsp两个文件,就是Psi工程和Psi界面库工程了,用vc打开之前还要修改一下src.dsp工程文件,因为转过来的时候有些参数没有加上。mkdir mypsicopy src\src.exe psiwin\Psi.execopy %QTDIR%\bin\qt-mt*.dll psiwincopy ..\qca\qca*.dll psiwincopy src\tools\idle\win32\idleui.dll psiwinxcopy /e certs psiwin\certs\xcopy /e iconsets psiwin\iconsets\xcopy /e sound psiwin\sound\copy COPYING psiwinwin32\tod README psiwin\Readme.txtwin32\tod INSTALL psiwin\Install.txt.
yebeans - Sat, 21 Apr 2007 18:35:33 GMT qt 在Windows下的安装 一.下载并安装qt源码包。譬如我的目录是:C:\QT\qt-win-opensource-src-4.1.1.四.配置并安装qt vc6对应-msvc;vs2003对应-msvc.net;vs2005对应-msvc2005 根据你的vc的平台,运行C:\QT\qt-win-opensource-src-4.1.1\qconfigure.bat msvc2005(我用的是2005) 五.设置环境变量 将qt的bin目录追加到环境变量PATH中,(我的电脑->属性->高级->环境变量->Path) 新建一个环境变量,名称是QMAKESPEC,值因vc版本不同而不同 vc6对应QMAKESPEC值为win32-msvc,2003对应then win32-msvc.net,2005对应win32-msvc2005 测试环境变量是否正确。
sjdev - Sat, 21 Apr 2007 09:44:46 GMT 自定义slot的简单例子程序 #include "MyMainWindow.h"//#include <qwidget.h>//#include <qpushbutton.h>MyMainWindow::MyMainWindow(){}void MyMainWindow::drawmyline(){slot是qt专有的标志符,不是c++语言中定义的关键字,c++ 编译器不可能识别它.为此,qt提供了一个工具:如果源程序中有 qt 专有的关键字slot or sigal,必需将源文件分割成三部分,.h头文件,.cpp源文件,如果将qt 专有的关键字slot or sigal混入众多的源文件中,势必造成不必要的混乱,而且生成。qmake 生成makefile文件,qmake会自动把moc所要执行的一系列动作命令,添加到makefile中,
dreamcs - Sat, 21 Apr 2007 00:37:08 GMT rpath g++ -W -Wall -o sdp-player sdp-player.o -L/home/sdp-player/lib/player -lplayer -L/home/sdp-player/lib/transport -ltransport -L/home/sdp-player/lib/utilities -lutilities -L/usr/local/Trolltech/Qt-4.2.0/lib -lQtCore -lz -lm -lglib-2.0 -lpthread -ldl -lQtGui -lpng -lfreetype -lQtNetwork -L/usr/local/lib -lavformat -lavcodec -lm -lz -ldl -lavutil -lboost_thread -lboost_filesystem -lboost_iostreams -lrt.
hahapro - Fri, 20 Apr 2007 16:49:59 GMT Qt/Embedded 2.3.10 到PXA270上的移植 7.nfs挂载运行qte库及qte程序假如我把qte库及相关库放在/root/qteshared 目录的lib目录下:cp $QTDIR/lib/libqte.so* /root/qteshared/libcp /root/e2fs-install/libuuid.so* /root/qteshared/libcp /root/tslib-install/libts-0.0.so* /root/qteshared/lib(如果编译了jpeg库也一样操作)并且/root/qteshared设置成nfs共享了,我的hello程序放在/root/qteshared下,然后我在minicom下挂载这个目录:挂载成功的话就可以设置板子上的环境变量:export LD_LIBRARY_PATH=/qt/lib:$LD_LIBRARY_PATHexport QTDIR=/qt然后。
duwchy - Fri, 20 Apr 2007 13:21:36 GMT Qt4,想说爱你不容易 界 面画好后,使用uic来根据界面生成代码文件,QT3的uic可以自动生成.h和.cpp文件,假设你在制作一个名叫TestDialog的对话框,那么 QT3的uic生成的文件则是TestDialog.h和TestDialog.cpp,所有的界面初始化工作都在cpp文件中执行,之后程序的逻辑代码 也将加入这个文件,那么对于一个已经完成逻辑功能的对话框来说,如果要修改界面布局,你就不得不重新用uic生成.h和.cpp文件,然后将其中界面相关 的代码复制到你已经修改的文件中,此时决不能直接用uic直接生成到修改过的文件上,因为那样你的代码将全部被冲掉。
yang_dk - Fri, 20 Apr 2007 12:39:39 GMT 终于解决kdevelop 无法找到qt头文件的方法了 问题:执行configure老是出错,提示无法找到qt头文件和库。在config.log文件里面查看执行configure的过程,发现居然查找qt的路径跟默认安装的不一样。默认安装进qt-3.3文件夹,但是configure查找的是qt文件夹。本来想直接改文件夹名字,后来为了保险还是再创建一个qt文件夹。
JYYCOM - Tue, 17 Apr 2007 00:43:47 GMT Kdevelop+QT 折腾了大半天Kdevelop终于可以编译了 ,我装的是fedora core3 是在台式机上装的,用VNC远程登录,用笔记本来操作,默认登录gnome界面。还必须点kde菜单里面的kdevelop,结果成功!得出教训,不能急于求成,我就是连kde和kdevelop的关系都没搞懂,就急着用,太低级了。
JYYCOM - Sun, 15 Apr 2007 11:37:23 GMT 怎么在qt4中显示中文: 怎么在qt4中显示中文: 在代码中用可以用英文命名各个元件,但是main.cpp中加入以下语句: QTranslator translator; translator.load("hellotr_la"); app.installTranslator(&translator); 然后运行qmake -project 在生成的.pro文件中加一下语句: TRANSLATIONS=hellotr_la.ts 运行 qmake 运行 lupdate -verbose hellotr_la.pro 生成.ts文件 (.ts format is human-readable XML that can be emailed directly and is easy to put under version control) 运行 linguist hellotr_la.ts 打开QT linguist Trolltech 选中你要改名的元件,在Translation下写要改成的中文名.
jjhui - Sat, 14 Apr 2007 16:10:42 GMT qt-designer使用教程3--编写自己的槽 从菜单栏的 File->New 打开新建对话框,选择最后一个:C++ Main-File(main.cpp).然后也同样保存到刚刚创建的文件夹 /home/DesignerTutorial/tutorial3 下。生成Makefile文件:[root@localhost tutorial3]# qmake编译:[root@localhost tutorial3]# make[root@localhost DesignerTutorial3]# lsform_main.ui main.cpp Makefile tutorial3 tutorial3.pro可以看到 tutorial3 ,这就是我们的可执行程序,运行:[root@localhost tutorial3]# ./tutorial3 在两个输入框中输入数字,点击"加"按钮,看看效果再输入非数字字符,看看效果。
ecjtuync - Wed, 02 May 2007 10:01:48 GMT qt-designer使用教程2--调用退出 第二章 调用退出 上一章我们学习了 QT Designer 的基本使用方法,这一章我们添加一些稍稍复杂的功能。这时侯,你的 QT Designer 中就会出现一个 From1 来. 更改右下角那个窗口里的 caption ,原内容 "Form1"改为 "我的第二个QT Desiger程序--调用退出", name , 原内容 "Form1"改为 "form_main"可以看到这时候窗口的标题栏文字已经改变为"Form1"改为 "我的第二个QT Desiger程序--调用退出",不是吗?
ecjtuync - Wed, 02 May 2007 10:02:23 GMT qt-designer使用教程1--HelloWorld [root@localhost test]# mkdir /root/DesignerTutorial1[root@localhost test]# cd /root/DesignerTutorial1然后打开 QT Designer ,直接在命令行下输入:designer,如下:[root@localhost DesignerTutorial1]# designer&[3] 16544[root@localhost DesignerTutorial1]#这里我们看到"Qt Designer - New/Open"对话框,这是一个新建对话框,我们可以通过从菜单栏的 File->New 来打开它。
ecjtuync - Wed, 02 May 2007 10:02:03 GMT QT-X11-3.1.2.tar.bz2的使用 总纲: 编译QT-X11-3.1.2.tar.bz2,得到在PC上运行的代码,得到执行的文件.以便阅读QT的源程序. 1 网上下载一个 QT-X11-3.1.2.tar.bz2 的版本. 2 解压: tar -jxvf qt-X11-3.1.2.tar.bz2 3 执行配置文件: ./configure 4 清除编译环境 make distclean 5 执行编译,这一步比较复杂,编译的时间比较长.一两个小时吧.Waiting........... make 6 看看编译后的成果: 编译完成后,就可在PC机的X86的构架之下运行执行的代码. >> cd examples/demo >> ./demo 7 说明: 对于 qt-embedded-free-3.1.1.tar.bz2 这样的版本不能合适这个编译的条件,即使编译出来,但也不能够 得到运行的条件,不执行编译出来后的代码.
ecjtuync - Wed, 02 May 2007 14:10:36 GMT 网页中一些Html编辑器中的方法 AddText(AddTxt);AddTxt="[size="+size+"]"+txt;AddTxt="[font="+font+"] ";AddTxt="[font="+font+"]"+txt;AddTxt="[color="+color+"] ";AddTxt="[color="+color+"]"+txt;} else if (basic) { AddTxt="";} else if (basic) { AddTxt="[flash][/flash]";} else if (basic) { AddTxt="";} else if (basic) { AddTxt="[quote][
xuxuebin - Sat, 14 Apr 2007 10:48:03 GMT Linux 用qmake快速生成makefile 1.简介: qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具。} 创建qmake需要的项目文件(hello.pro), SOURCES = hello.cpp CONFIG = qt warn_on release Makefile可以像这样由".pro"文件生成: qmake -o Makefile hello.pro 现在你的目录下已经产生了一个 Makefile 文件,输入"make" 指令就可以开始编译 hello.c 成执行文件,执行 ./hello 和 world 打声招呼吧!下面这些选项定义了所要连编的库/应用程序的类型: qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。
ecjtuync - Wed, 02 May 2007 14:10:58 GMT qt 事实证明我是个穷折腾的人,下午喝了啤酒,就不知道该干嘛好了,随便翻翻新闻组,看到一伙人在打嘴仗,hohoqt和gtk,无外呼c好。。。。或是c 如何如何,互相互指软肋,本来没事下个qt在w...
康国庆 - Sat, 14 Apr 2007 17:01:27 GMT qtopia2交叉编译终于成功了。 echo "************remove old dirs************"rm -rf qt-x11rm -rf qtopiarm -rf qterm -rf tmakerm -rf jpegrm -rf e2fsrm -rf tslibrm -rf librm -rf includerm -rf png.echo "************unpack tar packages************"tar -xvf e2fsprogs-1.39.tar.gztar -xvf jpegsrc.v6b.tar.gztar -xvf qt-embedded-2.3.10-free.tar.gztar -xvf qtopia-free-source-2.1.1.tar.bz2tar -xvf qt-x11-2.3.2.tar.gztar -xvf tmake-1.13.tar.gztar -xvf tslib-1.3.tar.bz2tar -xvf libpng-1.2.14.tar.bz2.
hahapro - Fri, 13 Apr 2007 09:51:44 GMT gtk和qt 目前主流的Linux窗口系统有:PC上使用的基于开放源代码的Gnome和KDE、嵌入式设备上使用的开放源代码Opie和Gpe,以及一些商业化的版本(如Motorola的PDA手机的窗口系统)。Opie(Open Palmtop Integrated Environment)窗口系统类似于桌面领域中的KDE,Opie基于Qtopia,Qtopia是基于Qt/Embedded的简化窗口系统。KDE窗口系统基于Qt/X11,Qt/X11又基于X Window系统。
dreamtofly - Wed, 11 Apr 2007 20:29:32 GMT 转些资料,查起来也方便 SkyEye嵌入式硬件仿真项目。中国Linux论坛的嵌入式版,有很多开发板原理图的资料。嵌入式Linux联盟(ELC),一个非盈利性的厂商中立的同业工会,其目标是在整个嵌入式。Beyond Logic公司主页,提供了许多嵌入式Linux系统开发的资料。D_J嵌入式个人主页,有很多资料!嵌入式GUI.Microwindows由Century Software的CEO Greg Haerr主持开发的一个公开源码(LGPL)的。Microwindows的主要目的之一便是运行在嵌入式Linu.GUI 是一种面向嵌入式系统或者实时系统的公开源码(LGPL)的图形用户界面支持系统。Qt/Embedded是公开源码(LGPL)项目。
xrdsgxx - Wed, 11 Apr 2007 11:46:05 GMT 5-3 把自定义控件集成到Qt Designer中(Integrating Custom Widgets with Qt Designer) 要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在。函数icon()返回控件在Qt Designer中用的图标。.pro文件如下:TEMPLATE = libCONFIG += designer plugin releaseHEADERS = ../iconeditor/iconeditor.h \ iconeditorplugin.hSOURCES = ../iconeditor/iconeditor.cpp \ iconeditorplugin.cppRESOURCES = iconeditorplugin.qrcDESTDIR = $(QTDIR)/plugins/designer.pro文件假定QTDIR位于Qt的安装目录。
暳彼小星 - Tue, 10 Apr 2007 10:51:17 GMT 几种界面开发的个人感受 昨天看了几段WPF的视频教程,回想了一下自己接触过的几种界面开发方式,每种给我的感觉都不同。最先接触的界面开发是MFC,那时初学编程,什么基础都没有,所以学起来有点头痛。昨天看了几段WPF的视频教程,没有深入去看相关资料,但昨天给我的映象是我再也不想进行windows界面开发了,最初看了几个小的例子倒觉得很简单,给xaml中的元素属性随便赋几个值就行了,的确是一种好的界面开发方式。但它显然打算提高界面开发的门槛,它要让界面酷且眩,那么就不得不让专业美工来进行界面开发,还好就是WPF很方便的支持这种开发方式。
lyskyly - Sun, 08 Apr 2007 12:36:49 GMT Linux桌面两大阵营 GNOME与KDE的战争 虽然在商业方面存在竞争,GNOME与KDE两大阵营的开发者关系并没有变得更糟,相反他们都意识到支持对方的重要性--如果KDE和GNOME无法实现应用程序的共享,那不仅是巨大的资源浪费,而且将导致Linux出现根本上的分裂。但KDE在商业支持方面每况愈下,Novell在11月宣布旗下所有的商业性发行版将使用GNOME作为默认桌面(仍会对KDE Libraries提供支持),SuSE Linux桌面版则会对KDE与GNOME提供同等支持,而社区支持的OpenSuSE仍将使用KDE体系--但谁都明白GNOME将成为Novell的重心,KDE只是活跃在免费的自由发行版中。
apollowm - Sun, 08 Apr 2007 12:17:29 GMT linux 图形界面GUI开发,跨平台调用Web Service 最近有用 Qt/Embedded 开发一个界面,用于一款嵌入式Linux设备,有些心得想跟大家分享一下。Qt是Trolltech公司的产品,Trolltech是挪威的一家软件公司,主要开发两种产品:一种是跨平台应用程序界面框架;在Trolltech官方网站下载QT库, 我用的版本为 qt-2.3.7, 配置好 QT 及 QMAKE 环境变量:#export QTDIR=/qt_home/qt-2.3.7#export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:#export PATH=/usr/local/qmake/bin/:$PATH#export QMAKESPEC=/usr/local/qmake/mkspecs/qws/linux-x86-g++/VC++开发界面(整合了QT工具条):
kimwu - Sat, 21 Apr 2007 00:39:43 GMT 建立Embedded QT 开发环境 mv qvfb $QTEDIR/bin/ 4.Build libqte:cd $QTEDIRexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHcp -f $QPEDIR/src/qt/qconfig-qpe.h src/tools/./configure -system-jpeg -no-xft -qconfig qpe -qvfb -depths 4,8,16,32make sub-src 5.Build Qtopia:cd $QPEDIRexport QTDIR=$QTEDIRexport PATH=$QPEDIR/bin:$PATHexport LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH./configuremake.
zht_sir - Sat, 07 Apr 2007 14:05:59 GMT 5-2 从QWidget继承新类(Subclassing QWidget) 许多Qt的控件或者象HexSpinBox这些自定义控件都是现有的控件的一个组合。由Qt控件组合而成的用户控件可以用Qt Designer实现:1. 用模板"Widget"新建一个控件框架2. 在框架中加入需要的控件,并对控件进行布局3. 进行信号和槽连接4. 如果还需要更多的信号和槽,可以在继承QWidget和uic生成的类中添加相关代码 这种控件的组合也可以用代码实现。下面是头文件:#ifndef ICONEDITOR_H#define ICONEDITOR_H#include <QColor>#include <QImage>#include <QWidget>class IconEditor : public QWidget{
暳彼小星 - Fri, 06 Apr 2007 22:19:26 GMT 安装与建立 Qt 桌面开发运行环境 1.下载Qt在TrollTech网站http://www.trolltech.com/developer/ 上搜索下载Qt的相关包,包括qt-embedded-free-3.3.4.tar.gzqt-x11-opensource-src-4.2.3.tar.gztmake-1.8.tar.gz #可以不要,因为有现在这些高版本的qt-embedded,qt-x11,qtopia里就有qmake这些都是最新的Qt版本,编译过程好像跟查资料时的老版本的步骤有很大的不同,比如新版本使用qmake而不像以前使用tmake,还有configure脚本文件配置时的参数有许多变化,编译时没有什么资料可以查,除了trolltech本身的一些文档,剩下的只好自己摸索了。
duwchy - Fri, 06 Apr 2007 20:24:00 GMT 引用:DoxyGen文档之四 http://blog.csdn.net/SigmaSys/archive/2003/12/28/21949.aspx第二章:Documenting the code特殊的注释。一种特殊的注释是带有一些额外标记的C/C++注释块,这样doxygen就知道需要将其加入到文档中了。对于每个代码块都有两种注释,这两种注释组成了文档:一种是brief 描述另一种是detailed 描述,都是可选的。有以下方式添加brief注释。一种是在上述注释块中使用\brief,然后一个空行后跟着Detail注释。这些单行注释包括一个brief描述,而multi-line注释块包含一个更详细的描述。缺省的,JavaDoc风格的注释块和Qt风格的注释同样有效。
prophet08 - Fri, 13 Apr 2007 16:35:26 GMT Windows命令行下QT编程 当然,你还可以用QT Designer快速建立.ui文件,以生成相应的界面类文件.
游荡人 - Wed, 04 Apr 2007 12:50:06 GMT qte for arm的编译过程 自从接触qte以来,便觉得qte在众多嵌入式GUI中算上层的,其构建很清晰,充分利用了c++的继承、多态等,读了部分源码很有收获。先到http://ftp.citkit.ru/pub/qt/source/去下载了qte-3.4的源码,解压,先cp一份,并把其中一份命名为qte-arm,因为我们需要先编译pc上的qte,得到两个工具,bin/moc、bin/uic,我们写的qte程序里面的信号糟等,需要用moc工具来"解析"(具体的可以去qiliang的主页看看),而我们的目标环境是arm,所以我们编译出来的moc工具是arm-elf格式的,这在X86的机子上是不能运行的。
learndkid - Mon, 02 Apr 2007 14:22:26 GMT QtEmbedded/Qtopia FAQ Qt-X11/QtEmbedded/Qtopia及其他常见包的关系?build Qtopia时经常能看到以下的包:qt-x11-2.3.2qt-x11-3.3.xqte-2.3.xqtopia-2.xtmake-1.3qmake, uic, moc...Qtopia/QtEmbedded版本对应关系?Qtopia1.7.0 / Qte 2.3.7Qtopia2.1.1 / Qte 2.3.10Qtopia2.1.2 / Qte 2.3.11Qtopia2.2.0 / Qte 2.3.12 (包含在qtopia2.2源码包中)然后把你的程序cp到qtopia程序默认的搜索路径中:应用程序放到SRCDIR/qtopia/image/opt/Qtopia/bin下;Qtopia 和Qte程序都会在运行时的$QTDIR/lib/fonts目录里搜索字体, 所以你要用的字体也要放在这个地方。
learndkid - Mon, 02 Apr 2007 10:16:22 GMT 5-1 自定义Qt控件(Customizing Qt Widgets) 在某些情况下,我们发现有些Qt控件通过设置它的属性或者函数不能满足我们的要求,还需要更多的要求。#ifndef HEXSPINBOX_H#define HEXSPINBOX_H#include <QSpinBox>class QRegExpValidator;类HexSpinBox继承了很多QSpinBox的功能。#include <QtGui>#include "hexspinbox.h"HexSpinBox::HexSpinBox(QWidget *parent) : QSpinBox(parent){QSpinBox调用函数 validate()确定是否输入的文本是合法的。16作为基数,QString::number()把数值转换为小写的十六进制,QString::toUpper()将得到的结果转换为大写。
暳彼小星 - Tue, 27 Mar 2007 21:52:40 GMT 第五章用户自定义控件(Creating Custom Widgets)及第四章小结 用户自定义的控件可以通过继承现有的Qt控件实现,也可以直接从QWidget继承。介绍自定义控件如何放到Qt Designer的控件列表中象Qt自己的控件一样使用。最后介绍一个使用双缓冲的自定义控件,双缓冲是实现高速绘制图形的一种技术。
暳彼小星 - Tue, 27 Mar 2007 19:10:06 GMT 4-6 继承类QTableWidgetItem(Subclassing QTableWidgetItem) = ‘+‘ && op != ‘-‘) return result; ++pos; QVariant term = evalTerm(str, pos); if (result.type() == QVariant::Double && term.type() == QVariant::Double) { if (op == ‘+‘) { result = result.toDouble() + term.toDouble(); } else { result = result.toDouble() - term.toDouble(); } } else { result = Invalid; } } return result;}函数setFormula()设置网格的公式。
暳彼小星 - Tue, 27 Mar 2007 19:07:16 GMT 移植qtopia-1.7.0到2410 2 建立图标文件 tar zxvf qtopia-free-1.7.0.tar.gz cd qtopia-free-1.7.0 cp ../../my.png pics/inline/my.png ../qt-2.3.2/tools/qembed/qembed --images pics/inline/*.* >src/libraries/qtopia/inlinepics_p.h.给根目录添加文件 添加.desktop文件 cp $QPEDIR/apps/Applications/my.desktop Qtopia/qtopia-free-1.7.0/apps/Applications/ 添加库 cp $QPEDIR/lib/libqpe.so.* Qtopia/qtopia-free-1.7.0/lib/ 添加程序 cp hello Qtopia/qtopia-free-1.7.0/bin cd ..
langxing0508 - Mon, 26 Mar 2007 13:28:19 GMT 交叉编译QTE源码包 概述: QT程序的移植过程主要是程序的编辑和交叉编译QT程序. 交叉编译QT程序时需要交叉编译好的QTE库. 本文主要针对于GEC2410开发板,在PC机端交叉编译QTE的源码包,从而得到交叉编译的QTE库.;在PC机上调试好QTE程序后, 需要把QTE程序移植到ARM平台上. 移植最重要的环节是交叉编译QTE程序.;1 交叉编译QTE库 export PATH=/usr/local/arm/3.3.2/bin:$PATH cd /home/build_qte/ tar zxvf qt-embedded-2.3.7.tar.gz ;在/usr目录下解压qt-embedded-2.3.7.tar.gz源码包 mv qt-2.3.7 qt-2.3.7-arm cd qt-2.3.7-arm.
langxing0508 - Wed, 18 Apr 2007 16:58:38 GMT qte环境建立 (PC机的虚拟帧缓冲) 建立shell文件,设置环境变量 vi set-qte-x86.sh ;在文件中添加如下 #!/bin/bash export QTDIR=/home/build_qte/qt-2.3.7-x86 ;编译qt-2.3.7的目录 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export TMAKEDIR=/home/build_qte/tmake-1.11 ;tmake-1.11的目录 export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++ export PATH=$QTDIR/bin:$TMAKEDIR/bin:$PATH echo $PATH ;保存退出 ;先不要执行source set-qte-x86.sh (不要设置环境变量)
langxing0508 - Mon, 26 Mar 2007 13:07:07 GMT Linux程序应用开发环境和工具经验谈 Linux程序应用开发环境和工具经验谈。glade: 开发gtk/gdk程序的图形工具,能完成界面的编辑(这比用VI做界面好10^n 倍,本人曾经用vi 以每天2000行程序的速度写过gtk的应用,整整写了一个月,后来用glade用重来,一周就完成了)designer: 开发qt/x11程序的图形工具,能完成界面的编辑,也可以开发qt/embedded的程序。3.embedded程序员 c/c++ + qt/embedded + HHL.5.像我这样什么都会的天字号 c/c++ + qt/X11/embedded + designer + gtk/gdk +glade + source navigator + gdb + ddd + bdm + turbolinux + HHL.
zvane - Sun, 18 Mar 2007 09:20:25 GMT 4-3 读取和保存(Loading and Saving) 4-3 读取和保存(Loading and Saving)我们使用QFile和QDataStream来实现Spreadsheet文件的保存和读取。最好把它们转换为qint8,quint8,qint16,quint16,qint32,quint32,qint64,quint64,这些类型能确保字长是不随平台改变的。数据类型的二进制表示由类QDataStream决定。在未来的Qt版本中还可能有更多的改变,QDataStream使用最近的Qt版本,但是它可以读取以前的版本。为了程序用新的Qt版本重新编译后能够更好的兼容,我们显式的给出QDataStream使用的版本为7(QDataStream::Qt_4_1定义为常量7)QDataStream可以支持多种类型。
暳彼小星 - Thu, 15 Mar 2007 21:45:52 GMT 主流嵌入式Linux系统下GUI解决方案 事实上我们要设计的视窗当然不可能是这样一点一点地画上去的,这样太过浪费时间,基于这种观念我们就设计出高阶一点的函数来帮助我们解决这个繁琐的步骤,例如各类视窗编程里用到的画点、画线、画矩形、画圆形、画不规则形、上色等函数。● Window Manager 有了Toolkits,我们可以很轻松地建立视窗模块(X Client),但是每个视窗模块只负责自己模块内的事务,那么不同视窗间的沟通、协调,例如视窗的切换、放大、缩小等,就没有模块管理了,于是视窗管理员(Window Manager)就应运而生了。
- Thu, 15 Mar 2007 00:00:00 GMT 嵌入式Linux系统中应用的GTK+和X分析 1 2 3 4 下一页 在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,MicroWindows 和 GTK+ 等。选择 GTK+ 运行在 X 系统上,然后 X 系统运行在嵌入系统的 framebuffer 上,这会是一个很好的选择。GTK+ 与 X 的优点当然,GTK+ 与 X 一般都是被大家考虑为体积较大的桌面系统的好搭配,但实际上对于嵌入系统来说,它也有着诸多的优点:1、 X-window 系统与 GTK+ 都非常稳定可靠,X-window 系统是经历了长期的开发及应用实践的,GTK+ 也是一个比较成熟的开放源代码项目。
- Thu, 15 Mar 2007 00:00:00 GMT 精华推荐:让Linux“开口”讲英语 但是,要执行此文件还要将库文件xdict.lib和索引文件xdicten.idx 拷贝目录/usr/lib/ xdict下: # mkdir -p/usr/lib/xdict 找到xdict.lib和xdicten.idx 拷贝目录/usr/lib/xdict下: #cp xdict.lib xdicten.idx /usr/lib/xdict (5)启动X-Window并运行xdict: # startx #./xdict 在此简单介绍一下QT。在xdict.cpp中有这些函数的详细结构,下面仅简要分析初始化函数xdict(),如图2所示。要使字典发音,只需在输入单词回车后,在显示单词汉字译文的同时调用发音函数,即在xdict.cpp中的按下回车键处理函数中添加eciSpeakText函数即可。
- Thu, 15 Mar 2007 00:00:00 GMT Qt源码分析之QPointer QPointer只是一个简单的模板,对QMetaObject的相关操作做了简单的封装,这里的基本思想是在QPointer构造的时候调用QMetaObject::addGuard(&o),把T的指针加入QMetaObject内的一个哈希表中,在QPointer析构的时候调用QMetaObject::removeGuard(&o),把T的指针从哈希表中删除这是一个QMetaObject中静态成员,该哈希表的定义如下:typedef QMultiHash<QObject *, QObject **> GuardHash;这个哈希表存储的是指针的值和指针的地址,因此加入的代码如下:void QMetaObject::addGuard(QObject **ptr){GuardHash *hash = guardHash();
oowgsoo - Thu, 15 Mar 2007 11:08:12 GMT Qt源码分析之信号和槽机制 在这里我们看到了静态成员staticMetaObject被填充了 const QMetaObject *superdata;//这是元数据代表的类的基类的元数据,被填充为基类的元数据指针&QAbstractButton::staticMetaObject const char *stringdata;//这是元数据的签名标记,被填充为qt_meta_stringdata_QPushButton const uint *data;//这是元数据的索引数组的指针,被填充为qt_meta_data_QPushButton const QMetaObject **extradata;//这是扩展元数据表的指针,一般是不用的,被填充为0.if (qt_signal_spy_callback_set.signal_begin_callback !
oowgsoo - Thu, 15 Mar 2007 11:09:10 GMT |
|