Qt图形编程基础之:Qt/Embedded开发入门
aSignal();
...
private:
...
QPushButton*aButton;
};
MyWidget::MyWidget()
{
aButton=newQPushButton(this);
connect(aButton,SIGNAL(clicked()),SIGNAL(aSignal()));
}
(4)解除信号与插槽关联。
当信号与槽没有必要继续保持关联时,用户可以使用disconnect()函数来断开连接。其定义如下所示:
boolQObject::disconnect(constQObject*sender,constchar*signal,constObject*receiver,constchar*member)[static]
这个函数断开发射者中的信号与接收者中的槽函数之间的关联。
有3种情况必须使用disconnect()函数。
n 断开与某个对象相关联的任何对象。
当用户在某个对象中定义了一个或者多个信号,这些信号与另外若干个对象中的槽相关联,如果想要切断这些关联的话,就可以利用这个方法,非常简洁。如下所示:
disconnect(myObject,0,0,0)
或者
myObject->disconnect()
n 断开与某个特定信号的任何关联。
这种情况是非常常见的,其典型用法如下所示:
disconnect(myObject,SIGNAL(mySignal()),0,0)
或者
myObject->disconnect(SIGNAL(mySignal()))
n 断开两个对象之间的关联。
这也是非常常用的情况,如下所示:
disconnect(myObject,0,myReceiver,0)
或者
myObject->disconnect(myReceiver)
注意 | 在disconnect()函数中0可以用作一个通配符,分别表示任何信号、任何接收对象、接收对象中的任何槽函数。但是发射者sender不能为0,其他3个参数的值可以等于0。 |
12.2.3搭建Qt/Embedded开发环境
一般来说,用Qt/Embedded开发的应用程序最终会发布到安装有嵌入式Linux操作系统的小型设备上,所以使用装有Linux操作系统的PC机或者工作站来完成Qt/Embedded开发当然是最理想的环境,此外Qt/Embedded也可以安装在UNIX或Windows系统上。这里就以在Linux操作系统中安装为例进行介绍。
这里需要有3个软件安装包:tmake工具安装包、Qt/Embedded安装包和Qt的X11版的安装包。
n tmake1.11或更高版本:生成Qt/Embedded应用工程的Makefile文件。
n Qt/Embedded:Qt/Embedded安装包。
n Qt2.3.2forX11:Qt的X11版的安装包,产生X11开发环境所需要的两个工具。
注意 | 这些软件安装包都有许多不同的版本,由于版本的不同会导致这些软件在使用时可能引起的冲突,为此必须依照一定的安装原则,Qt/Embedded安装包的版本必须比QtforX11的安装包的版本新,这是因为QtforX11的安装包中的两个工具uic和designer产生的源文件会和Qt/Embedded的库一起被编译链接,因此要本着“向前兼容”的原则,QtforX11的版本应比Qt/Embedded的版本旧。 |
1.安装tmake
用户使用普通的解压缩即可,注意要将路径添加到全局变量中去,如下所示:
tarzxvftmake-1.11.tar.gz
exportTMAKEDIR=$PWD/tmake-1.11
exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
exportPATH=$TMAKEDIR/bin:$PATH
2.安装Qt/Embedded2.3.7
这里使用常见的解压命令及安装命令即可,要注意这里的路径与不同的系统有关,读者要根据实际情况进行修改。另外,这里的configure命令带有参数“-qconfig–qvfb–depths4816,32”分别为指定Qt嵌入式开发包生成虚拟缓冲帧工具qvfb,并支持4、8、16、32位的显示颜色深度。另外读者也可以在configure的参数中添加“-system”、“-jpeg”或“gif”命令,使Qt/Embedded平台能支持jpeg、gif格式的图形。
Qt/Embedded开发包有5种编译范围的选项,使用这些选项可控制Qt生成的库文件的大小。如命令makesub-src指定按精简方式编译开发包,也就是说有些Qt类未被编译。其他编译选项的具体用法可通过“./configure–help”命令查看。精简方式的安装步骤如下所示:
tarzxvfqt-embedded-2.3.7.tar.gz
cdqt-2.3.7
exportQTDIR=$PWD
exportQTEDIR=$QTDIR
exportPATH=$QTDIR/bin:$PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure-qconfiglocal-qvfb-depths4,8,16,32
makesub-src
3.安装Qt/X112.3.2
与上一步类似,用户也可以在configure后添加一定的参数,如“-no-opengl”或“-no-xfs”,可以键入命令“./configure–help”来获得一些帮助信息。
tarxfzqt-x11-2.3.2.tar.gz
cdqt-2.3.2
exportQTDIR=$PWD
exportPATH=$QTDIR/bin:$PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure-no-opengl
make
make-Ctools/qvfb
mvtools/qvfb/qvfbbin
cpbin/uic$QTEDIR/bin
12.2.4Qt/Embedded窗口部件
Qt提供了一整套的窗口部件。它们组合起来
Qt图形编程 Qt Embedded Linux 操作系统 插槽 相关文章:
- Qt图形编程基础之:嵌入式GUI简介(08-13)
- Qt图形编程基础之:实验内容——使用Qt编写“Hello,World”程序(08-13)
- 《嵌入式Linux应用程序开发标准教程》(第2版)(09-30)
- 基于QTE的嵌入式Linux下可视化打印设计(07-30)
- 嵌入式linux应用开发之:初识Qt(03-04)
- U-Boot的编译与移植到QT-S3C44B0X开发板上(03-08)