关于Qt几个问题的答案

2019-07-13 05:51发布

一、如何emit一个其它类的signal
比如要在A类里emit一个B类的signal。好多人写了比较复杂的方法。其实看Qt的帮助文档就知道了。
就把A类声明为B类的friend class就行。就可以emit了。多简单。
二、在嵌入式linux 里面的Qt要调用系统调用,或者C语言的库,怎么办。
就是要C++和C混合编程了。除了声明extern “C” 以外,注意这是给C++调用C函数的时候用的。当你的C函数里面还调用了系统调用或者C库的时候,
由于qt的编译是先经过MOC把qt的一些宏等转成正常的C++代码实现。所以在MOC这一步,需要把C库加到.pro文件里面,否则qt的MOC是找不到这些东西的。会报一大堆错出来。 具体就是在.pro文件里面增加
INCLUDEPATH += where-your-gcc-is/usr/include
对于嵌入式linx交叉编译来说,需要注意的是,这个INCLUDEPATH指的是目标机,比如ARM,的头文件目录。而不是x86交叉编译器的头文件和库目录。当然这两个一般是挨着放的,自己看准了。