文档章节

QT5(一):HelloWord

Jlan
 Jlan
发布于 2015/04/16 22:54
字数 353
阅读 314
收藏 1

编写HelloWorld.cpp文件

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QLabel label("Hello, world");
    label.show();

    return app.exec();
}

程序写好后,执行

qmake -project , 生成一个与平台无关的HelloWorld.pro文件

qmake HelloWorld.pro , 生成一个与平台无关的Makefile文件

make , 构建程序

最后执行 ./HelloWorld


前两行是 C++ 的 include 语句,这里我们引入的是QApplication以及QLabel这两个类。

main()函数中第一句是创建一个QApplication类的实例。对于 Qt 程序来说,main()函数一般以创建 application 对象(GUI 程序是QApplication,非 GUI 程序是QCoreApplicationQApplication实际上是QCoreApplication的子类。)开始,后面才是实际业务的代码。这个对象用于管理 Qt 程序的生命周期,开启事件循环,这一切都是必不可少的。在我们创建了QApplication对象之后,直接创建一个QLabel对象,构造函数赋值“Hello, world”,当然就是能够在QLabel上面显示这行文本。最后调用QLabelshow()函数将其显示出来。

main()函数最后,调用app.exec(),开启事件循环。我们现在可以简单地将事件循环理解成一段无限循环。正因为如此,我们在栈上构建了QLabel对象,却能够一直显示在那里(试想,如果不是无限循环,main()函数立刻会退出,QLabel对象当然也就直接析构了)

© 著作权归作者所有

Jlan
粉丝 2
博文 45
码字总数 17474
作品 0
浦东
私信 提问
配置PyQt5+PyCharm+deepin集成开发环境

配置PyQt5+PyCharm+deepin集成开发环境 文件列表: 安装准备: 安装PyCharm IDE: 安装JDK: 下载JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-...

棋帅小七
2018/07/01
0
0
centos7 如何处理 libQt5Widgets.so.5 问题

今天一同事发过来一个报错信息,提示如下: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory 查了几个博客分享的解...

归来仍少年
2018/03/19
0
0
CentOS安装PyQT5.6

一、安装CentOS7 安装完成后进行更新 sudo yum update -y 增加epel 源 yum install epel-release -y 二、 安装qt5 安装qt5.6 yum install qt5-qtquickcontrols qt5-qtdeclarative-devel -y ......

晴难自控
2017/11/19
0
0
linux 部署替换配置文件,重启tomcat

echo 'stop the tomcat ...' ps aufx|grep tomcat|awk '{print $2}'|xargs kill -9 echo 'stop tomcat ok...' rm -rf /test/helloword/ mkdir /test/helloword/ echo 'dele old ok..' mv /te......

alex_001
2012/09/29
211
2
Windows快速搭建QT静态开发环境

最近尝试在Windows平台搭建QT的静态开发环境, 发现一个不错的方法, 发出来与大家分享。 中国科技大学有一个源, 在msys目录下面有一个现成的静态编译的QT库, 下面是链接: http://mirrors.ustc...

雁儿在林梢
2015/12/30
177
0

没有更多内容

加载失败,请刷新页面

加载更多

python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
13分钟前
1
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
743
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
26
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部