开始第一个Qt程序

原创 2007年10月15日 22:42:00

          让我们一起开始第一个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环境下运行。

 

QT——第一个QT程序

yi.QT 1.工具         assistant  帮助文         qtconfig    QT配置工具         qmake        QT的make与项目文件智能...
  • u012409883
  • u012409883
  • 2014-10-25 21:17:43
  • 2338

170318 Qt-第一个程序

1625-5 王子昂 总结《2017年3月17日》 【连续第167天总结】 A. QTPY第一次运行 B. 由于要做windows项目于是开始尝试使用QT,PY简洁顺手就准备在代码端使用python ...
  • whklhhhh
  • whklhhhh
  • 2017-03-19 01:12:39
  • 417

第一个简单的qt程序

简单备份一下第一个qt程序用到的东西: 1.使用中文,关于中文转换有几个同事也经常遇到问题,有时候也不知道哪里出了问题, 中文显示就是不正常,还要从编译库了等细节问题上不要出问题:  QText...
  • wxhlinux
  • wxhlinux
  • 2013-01-24 17:44:03
  • 474

我的第一个QT程序

  • 2011年11月16日 15:31
  • 10KB
  • 下载

第一个Qt程序

一、Qt的安装     使用的Linux系统Ubuntu14.10是已经安装好QT的     查看Qt版本,执行         qmake -vQt     可以看到版本为:versio...
  • liuruiqun
  • liuruiqun
  • 2015-04-02 13:07:22
  • 379

第一个qt程序

  • mengtianwxs
  • mengtianwxs
  • 2016-11-23 22:31:46
  • 114

jQuery从0开始之【一】jQuery的引入及第一个例子

一、jQuery的引入jQuery的引入有两种方式: 使用百度的CDN,至于在head标签里加入 就可以使用在线的jQuery文件。 引入本地的jQuery文件 需要特别注意路径问...
  • zhoucheng05_13
  • zhoucheng05_13
  • 2016-12-11 21:24:56
  • 649

2016.03.15(那年今日:第一个因特网域名“.com”开始应用)

1.List和Set都是继承于Collection接口,list是元素可重复,有序的;set是元素不可重复,无序的。Map 没有继承 Collection 接口, Map 提供 key 到 value...
  • i9577
  • i9577
  • 2016-03-16 00:33:40
  • 393

分析第一个Qt程序代码

在《使用C++来创建界面》一节中我们创建一个 Qt Widgets 工程,共包含了4个文件,现在请大家把 mainwindow.cpp 和 mainwindow.h 删除,保留主文件 main.c...
  • softn
  • softn
  • 2016-06-16 17:28:25
  • 935

2-创建第一个QT程序——helloworld

1.首先新建项目,或者快捷方式ctrl+N 2.然后按上述choose。 接下来弹出项目介绍和位置 3.输入类信息: 在“类信息”界面中创建一个自定义类。这里的是默认的类名Mai...
  • a3631568
  • a3631568
  • 2016-12-16 18:16:06
  • 2070
收藏助手
不良信息举报
您举报文章:开始第一个Qt程序
举报原因:
原因补充:

(最多只允许输入30个字)