Qt程序错误记录


1、有的程序用到setMainWidget()函数,如果你用的Qt版本是4.0以上的会报错如下:

error: ‘class QApplication’ has no member named ‘setMainWidget’

错误是由于版本问题,setMainWidget是Qt3的,而在Qt4中,这个函数已经不用了,如果想兼容Qt3,可以再程序头文件前加以下语句(不能在头文件后):

#define QT3_SUPPORT

之后,带有setMainWidget的程序可以成功编译。


2、错误:

致命错误:qvbox.h: No such file or directory

在Qt4的编译环境中编Qt3的教程家庭价值时,会出现上述错误。

解决办法:将头文件改成qboxlayout.h,在程序内容修改:

#include <qboxlayout.h>
QVBox box;

改为(或包含):

QWidget box; 
layout.addWidget(&quit);                          
box.setLayout(&layout);                      
box.show();

之后,程序即可编译成功。


3、错误:’Horizontal‘在此作用域中尚未声明

解决方法:在OSlider函数中第1个参数Horizontal修改为Qt::Horizontal,编译即可成功。


4、make命令出现:make: Nothing to be done for `first';

解决方法:在当前目录下,删除除了源程序之外的*.cpp和*.h(即中间生成的.cpp和.h文件),重新执行以下命令:

qmake -project
qmake *.pro
make

make成功。


5、待续。。。