开始第一个Qt程序

          让我们一起开始第一个Qt应用程序,当然,如果你手头有Qt的doc文档,你同样可以参阅doc文档中的Qt Tutorial 1。

     你可以通过vi或者emacs编写下面的一段代码:
 
0001 #include <QApplication>
0002 #include <QPushButton>
0003
0004 int main(int argc, char **argv)
0005 {
0006     QApplication app ( argc , argv );
0007
0008     QPushButton hello ("Hello Qt!");
0009     hello .resize ( 120 , 30 );
0010
0011     hello .show ();
0012     return app .exec ();
0013 }
 
    下面我们一行一行的解释一下代码的意思。
    第1行与第2行是包含QApplication,和QPushButton的类的定义,其中QApplication类的对象在每个一个Qt的GUI应用程序都必须有,这是每一个GUI应用程序都必须有的对象,这个类的对象将管理整个应用程序的GUI资源。QPushButton是一个GUI的按钮,像一般的Windows按钮一样,用户可以通过点击或释放的方式触发按钮事件。
第3行中的app对象是QApplication类的实例,这里我们将argc和argv这样命行参数传递给QApplication的构造函数 QApplication( int & argc, char ** argv )。

    第8行这里通过调用QPushButton的构造函数QPushButton( const QString & text, QWidget * parent = 0 )来构造一个QPushButton的对象hello,并将按钮上显示的文本设置为Hello Qt!

    第9行将button的按钮的大小设置为120像素的宽,30像素的高。第11行的代码将我们生成的hello的按钮显示出来。这个show函数其实是QPushButton的祖父级类QWidget的函数QWidget::show(),在Qt中,几乎所有的GUI组件都是从QWidget上继承而来的。像上面第9行的resize函数也是QWidget的成员函数void resize( int w, int h )。

    第12行,main函数将控制大权传递给Qt,即QApplication的实例对象app,我们前面提到过每一个Qt应用程序都有且仅有一个QApplication对象,以用来维护整个Qt资源,通过调用exec()来执行Qt程序,这个exec()函数是QCoreApplication的成员函数,其中QCoreApplication是QApplication的基类。在QCoreApplication::exec()中,应用程序处理所有由系统和用户触发的事件,并将这个事件传递给指定的组件,比如,当用户点击按钮时,触发一个press事件,我们会在后面提到的信号和槽的概念,这样就可以让程序弹出如对话框之类的处理,具体的事件处理过程可参阅 Qt事件研究
    现在,我们将这个程序编译出来。
    在源程序所在目录执行qmake –project命令生成.pro文件。
      
 [root@localhost hello] qmake -project
    这是在这个目录下生成了与目录名相同的.pro文件,如hello目录,其.pro文件名为hello.pro。
接着执行
             
 [root@localhost hello] qmake
 
这时在这个目录下生成Makefile文件,然后执行make。
[root@localhost hello] make
    这个时候在这个目录生成了可执行程序,其程序的名字与这个目录名相同。好了,运行一下吧,看看结果。
[root@localhost hello] ./hello
 

    记住,运行这个程序必须在X11环境下运行。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值