Qt的第一个例子—

今天开始学习QT编程。其实我是比较讨厌界面编程的,感觉没有什么意思,项目需要就开始学习QT。打算从QT4学。虽然资料还不是很多。

#include <qapplication.h
>
#include <qpushbutton.h >


int main( int argc, char **argv )
{
QApplication a( argc, argv );

QPushButton hello( "Hello world!", 0 );
hello.resize ( 100, 30 );

a.setMainWidget ( &hello );
hello.show ();
return a.exec ();
}

QT的HelloWord程序,网上流传比较广。
wangyao@fisherman:~/tmp/qt/3$ qmake -project
wangyao@fisherman:~/tmp/qt/3$ qmake
wangyao@fisherman:~/tmp/qt/3$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o hello.o hello.cpp
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:12: error: ‘class QApplication’ has no member named ‘setMainWidget’
make: *** [hello.o] 错误 1
结果你编译出错,原因是因为QT4跟QT3有很多的变化,这可以参考QT4的手册。

在QT4里面没有setMainWidget这个方法,其实就不需要了。直接去掉就可以了。

int main( int argc, char **argv )
{
QApplication a( argc, argv );

QPushButton hello( "Hello world!", 0 );
hello.resize ( 100, 30 );

hello.show ();
return a.exec ();
}

这样就可以编译通过了。
原文地址:https://www.cnblogs.com/shaoguangleo/p/2805861.html