qt windows的下载
http://jenkins.taulabs.org/distfiles/
http://jenkins.taulabs.org/distfiles/QtSdk-offline-win-x86-v1.2.1.exe
qt教程 使用qt4
http://www.kuqin.com/qtdocument/tutorial1-01.html
安装参考
http://www.linuxidc.com/Linux/2012-05/60770.htm
ubuntu安装
apt-get install libqt4-dev libqt4-gui libqt4-sql qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig
hello.cpp注意一定是cpp结尾
#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();
}
执行
qmake -project
qmake
make
错误如下:
'class QApplication' has no member named 'setMainWidget'
在 类QApplication里面 没有找到 setMainWidget 成员...
原因是:
Qt 3.x支持setMainWidget,但是Qt4已经取消了对setMainWidget的支持。
所以注释掉
a.setMainWidget( &hello );
---------------------------------------------------------
在看一个可以退出的按钮
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton quit( "Quit", 0 );
quit.resize( 75, 30 );
quit.setFont( QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
//a.setMainWidget( &quit );
quit.show();
return a.exec();
}
-----------------------------------------
保持这个程序的简单性,并且只使用一个单一的父窗口部件和一个独立的子窗口部件。
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
#include <qboxlayout.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QWidget window;
window.resize(200,120);
QVBoxLayout layout;
QPushButton quit( "Quit", &window );
quit.setFont( QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
layout.addWidget(&quit);
window.setLayout(&layout);
window.show();
return a.exec();
}
图为qt4和qt3的区别