原文网址

//helloworld.cpp
#include <QApplication>
#include <QPushButton> int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QPushButton btn("hello world!");
btn.show();
QObject::connect(&btn,SINGAL(clicked()),&app,SLOT(quit()));
return app.exec();
}

Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:

qmake -project //声称项目文件(*.pro)

qmake //生成Makefile文件

make //生成可执行文件

./helloworld //执行程序

执行程序的结果为:

显示一个窗口,窗口中有一个hellosworld标签。点击helloworld标签后将退出程序.

下面就来仔细讲一下这个程序:

第一行,所有的Qt图形应用程序都必须包含此文件。它包含了Qt图形化应用程序的各种资源、基本设置、控制流、以及事件处理等。

第二行包含了程序中的按钮控件的头文件

第三行为应用程序的入口,所有Qt程序都必须有一个main()函数,以argc和argv作为入口参数

第四行创建了一个QApplication对象,每个程序都必须有且只有一个QApplication对象、采用

argc和argv作为参数、以便对命令行参数进行处理

第五行创建了一个QPushButton对象并且设置它的文本为”hello world”,由于此处没有指定按钮的父

窗体,因此以自己作为主窗口

第六行调用控件对象的show()方法来显示此按钮。控件被创建时默认是不显示的,因此调用show()函数来

进行显示。

第七行QObject::connect()方法是Qt的重要特征。即信号和槽机制。当按钮被按下则触发clicked()信号的发射,与之相连的QApplication对象的quit()响应按钮信号,执行退出操作。

第八行调用QApplication的exec()方法,程序进入消息循环,等待可能输入进行相应。Qt完成事件处

理及显示的工作,并在应用程序退出是返回exec()的值。

最新文章

  1. 架构从最简单的数据访问框架(ORM)到资源调度和治理中心(SOA)说起
  2. 完全删除TFS2013上的项目
  3. Windows Git安装指南
  4. PHP的静态和接口
  5. Android WebView 保存cache至External Storage
  6. iOS 微信分享
  7. Swift的7大误区
  8. css 标签 清除浮动
  9. sql 2000 NOLOCK 和 ROWLOCK 和 UPDLOCK
  10. IP网络5种基本寻址方式 (单播、多播、广播、任播、地域多播)
  11. pom.xml报错
  12. DevExpress控件-GridControl根据条件改变单元格/行颜色--转载
  13. 【C语言探索之旅】 第二部分第七课:文件读写
  14. MySQL数据库使用mysqldump导出数据详解
  15. studio多渠道打包
  16. zoomeye搜索+用selenium实现对佳能打印机的爬虫
  17. 乐观锁vs悲观锁, 集群vs分布式 , 微服务, 幂等性
  18. asp.net中WebResponse 跨域访问示例
  19. Tensorflow Seq2seq attention decode解析
  20. Ubuntu 16.04 python和OpenCV安装

热门文章

  1. Netty-flush
  2. Net Core 分布式微服务框架
  3. NSSM把.Net Core部署至 Windows 服务
  4. 安卓第四次作业——简单校园二手交易APP
  5. replcation set (复制集)配置过程 --mongodb
  6. CodeForces 731C C - Socks 并查集
  7. Quartz.NET基础入门
  8. IO(File、递归)
  9. jsp-简单的猜数小游戏
  10. js根据鼠标方向划入遮罩层