qt4 的helloworld

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的区别
qt4 的helloworld_第1张图片

你可能感兴趣的:(qt)