命令行执行Qt程序
//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()的值。
命令行执行Qt程序的更多相关文章
- 使用命令行编译Qt程序
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...
- 【Qt】命令行编译Qt程序(nmake)【转】
简述 前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境,并分享了我们第一个小程序-Hello World. 下面分享如何使用命令行来编译Qt程序.当然,MSVC和M ...
- linux下命令行执行Python程序提示no moudle,路径问题
在ide中执行python程序,已经设置好项目路径中. 但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError: No module na ...
- android程序中使用命令行及获得命令行执行后的内容
在开发android项目中,需要在程序中使用命令行执行,获得命令行执行后的结果并做处理. 下面是自己写的一个小例子,供以后参考使用: public String android_command(){ ...
- 编码用命令行执行的C语言词语统计程序
需求介绍 程序处理用户需求的模式为: wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 -c ...
- Microsemi Libero使用技巧——使用命令行模式下载程序
前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了. ...
- windos命令行下的程序编写
1.命令行下写程序. 写程序一定要用IDE?不,我还可以用记事本呢.呵呵,写程序一定要用记事本?? ———————————————— 命令行下输入copy con test.txt后回车可在相应目录下 ...
- php 运行linux命令 与 linux下命令行执行php
1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]); 执行函数后不输出结果,返回最 ...
- gocommand:一个跨平台的golang命令行执行package
最近在做一个项目的时候,需要使用golang来调用操作系统中的命令行,来执行shell命令或者直接调用第三方程序,这其中自然就用到了golang自带的exec.Command. 但是如果直接使用原生e ...
随机推荐
- (转)COBBLER无人值守安装
COBBLER无人值守安装 说在最前面的话 在看Cobbler之前请大家先看一下Kickstart无人值守安装,了解一下Cobbler的实现原理.但是Cobbler是独立的,不需要先安装Kicksta ...
- 如何更改Linux yum源?
centos下可以通过yum很方便快捷的安装所需的软件和库,如果yum的源不好,安装速度会非常慢,centos默认官方源似乎都是国外的,所以速度无法保证,我一直使用163的源,感觉速度不错.下面就说说 ...
- nodejs模块学习: webpack
nodejs模块学习: webpack nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决现实 ...
- UI2_同步下载
// // ViewController.m // UI2_同步下载 // // Created by zhangxueming on 15/7/17. // Copyright (c) 2015年 ...
- Kendo DataSource 概述
Kendo DataSource 概述 Kendo 的数据源支持本地数据源( JavaScript 对象数组),或者远程数据源(XML, JSON, JSONP),支持 CRUD 操作(创建,读取,更 ...
- Python + selenium之组织unittest单元测试用例
当增加被测功能和相应的测试用例之后unittest单元测试框架如何扩展和组织新增的测试用例的. # coding =utf-8 # calculator class Count (): def __i ...
- github上fork原项目,如何将本地仓库代码更新到最新版本?
场景: 在github上fork原项目,项目组成员发起pull request提交了代码,这时自己在本地仓库该如何更新到最新代码? 操作方法如下: 方法一.从github上进行操作然后更新 登录自己的 ...
- Nuget~管理自己的包包
很久很久以前,自己就想有个包包,最近又从网上淘了一个,价格不便宜呢,99块,还是个小腰包,不过作工还算精良,我喜欢的类型,帆布休闲包,可以将我的手机,耳机,水,小烟,小酒,小伞都放里,方便至极,哈哈!
- code Gym 100500D T-shirts(暴力)
因为只能买一次,暴力枚举一下买的衣服的大小. #include<cstdio> #include<map> #include<algorithm> using na ...
- CentOS lvm
1.创建PVpvcreate /dev/sdb /dev/sdc或pvcreate /dev/sdb1 /dev/sdc1 2.查看PVpvdisplay 3.创建VGvgcreate vgdata ...