Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • 如何在Linux环境学习Qt4呢?

    post by onelong / 2010-7-8 23:50 Thursday [C++]

    我使用的Linux系统是ubuntu 9.10

    1.        配置qt4开发环境: sudo apt-get install libqt4-dev qt4-designer qt4-doc

    2.        第一个Qt4程序,HelloWorld.新建文件夹并命名为”HelloWorld”新建文本文件main.cpp,并输入如下代码:

    #include<QApplication>

    #include<QPushButton>

     

    int main(int argc,char *argv[])

    {

        QApplication app(argc,argv);

        QPushButton b("Hello World!");

           b.resize(150, 50);

        b.show();

        QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));

        return app.exec();

    }

    编辑完毕后在终端输入用下面命令编译运行:

     

    $ qmake -project

    $ qmake

    $ make

    $ ./HelloWorld

     

     运行后你会看到图形的程序界面

    Qapplication;包含了Qt图形化应用程序的各种资源,基本设置,控制流和事件处理等;

    QcoreApplication;则包含了Qt的非图形化应用程序,xml解析和数据库应用等等

    注意:Qt4,头文件的包含可以采用类似#include<QApplication>,还可以像c语言包含头文件一样#include<qapplication.h>.

    即改为如下:

    #include<qapplication.h>

    #include<qpushbutton.h>

     

    int main(int argc,char *argv[])

    {

        QApplication app(argc,argv);

        QPushButton b("Hello World!");

        b.resize(150,50);

        b.show();

        QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));

        return app.exec();

    }

    值得说明一下的是编译时应该在当前工作目录下编译,HelloWorld项目,编译时应进入该文件夹编译!

    resize(width,height):改变对象的大小;

    Qobject::connect():信号与槽机制,事件处理机制.

    信号与槽机制(signal&slot)作为Qt最重要的特征,提供了任意两个Qt对象之间的通信机制.其中信号在某个特定情况或动作下触发,槽是用于接受并处理信号的函数.

     

    connect(boject1,SIGNAL(signal),object2,SLOT(slot));

     

               一个信号可以域另一个信号相连:

    connect(boject1,SIGNAL(signal),boject2,SIGNAL(signal))

    表示 boject1的信号1发射可以触发 boject2的信号1发射

               表示同一信号可以与多个槽相连:

    connect(boject1,SIGNAL(signa2),boject2,SIGNAL(slot2))

    connect(boject1,SIGNAL(signa2),boject2,SIGNAL(slot1))

               表示同一槽可以相应多个信号:

    connect(boject1,SIGNAL(signa2),boject2,SIGNAL(slot2))

    connect(boject3,SIGNAL(signa2),boject2,SIGNAL(slot2))

    标签: linux ubuntu c++ qt4
    引用地址:
     

    我要评论