Qt 第一章 Hello Qt

简介:
<>Hello Qt小试牛刀!
#include <QApplication>
//第一行是定义一个应用程序类<QApplication>的头文件,所有Qt图形化应用程序都包含在此头文件,它包含了Qt图形化应用程序的各种资源、基本设置、控制流以及事件处理等,如果是Qt的非图形化应用程,则需包含<QCoreApplication>
#include <QLabel>
//第二行定义一个应用到的标签类<QLabel>的头文件,
int main(int argc,char *argv[]) //主函数作为应用程序的入口,所有Qt应用程序都必须有一个主函数名,以argcargv作为入口参数。
{//定义一双花括符,这是程序的书写格式。
       QApplication app(argc,argv);
//创建一个QApplication对象,用来管理整个应用程序所用到的资源。每个Qt应用程序有且只有一个QApplication对象。argcargvQApplication构造函数的两个参数。支持Qt的程序处理命令行参数。
       QLabel *label = new QLabel(“Hello Qt!~”);
//创建一个显示”Hello QtQLabel标签窗口部件(window gadget简称widget)作为应用程序的窗口。应用程序窗口通常是一个包含了一个QMenuBar(Qt菜单栏)、一些QToolBarQt工具栏)、一个QStatusBar(Qt状态栏)以及一些其他窗口部件的窗口部件。大多数应用程序都会用QMainWindow或者一个QDialog作为它的窗口,但Qt可以用任何窗口部件作为它的应用程序窗口,这就是为什么很多人说Qt很灵活的原因。其实可以省略这样定义QLabel对象的:QLabel label(“Hello Qt!”);QLabel标签窗口部件显示修改为lable.show()
       Label->show();
//QLable的标签窗口部件在创建的时候是被隐藏的,因此我们要调用show()函数来显示标签窗口部件
       app.exec();
//调用QApplicationexec()方法,将应用程序的控制权限传递给Qt,此时程序会进入事件循环状态模式,程序等待用户对其发生的动作相应。Qt将完成事件处理及显示的工作在应用程序退出时返回exec()的值。
}
[root@localhost root]# mkdir hello
//mkdir命令创建一个hello目录
[root@localhost root]# cd hello
//cd命令切换到刚才创建的hello目录
[root@localhost hello]# vi main.cpp
//hello目录中用vi创建一个main.cpp文件
将下面的代码输入到main.cpp文件中,前面有介绍了,这里就不多说了
#include <QApplication>
#include <QLabel>
Int main(int argc,char *argv[])
{
       QApplication app(argc,argv);
       QLabel *label = new QLabel(“Hello Qt”);
       Label->show();
       return  app.exec();
}
[root@localhost hello]# qmake –project
//执行qmake –project,因为目录是hello,因此在hello目录下生成一个与平台无关的项目文件hello.pro
[root@localhost hello]# qmake hello.pro
//执行qmake hello.pro项目文件后,在hello目录下生成一个与平台有关的Makefile文件。
[root@localhost hello]# make
//执行make进行编译源代码,并生成main.o目标文件及hello执行文件。
[root@localhost hello]# ./hello
// 执行 hello ,就会弹出 Hello Qt 窗口,到此说明成功了
对显示信息进一步了解 , main.cpp 程序中的 QLabel *label = new QLabel(“Hello Qt!”); 中的 Hello Qt! html 格式进行修改 , 修改如下:
QLabel *label = new QLabel(“<h2><i>Hello</i>””<font color=red>Qt!</font></h2>”);
意思是 <h2>Hello Qt</h2> 显示与二号标题字体大小,  html <i></i> 标签将 Hello 加倾斜表示, <font color=red>Qt!</font> 表示将 Qt! 颜色设置为红色。
点击 QLabel 标签窗口部件左上角的 ”X” 关闭窗口,用 vi 命令打开 main.cpp C++ 程序源文件,并修改文本显示的内容,然后保存退出,重新执行 make 命令编译源代码
[root@localhost hello]# ./hello
//再次执行hello可执行文件,弹出的QLabel标签窗口与刚才的不同,现实了刚才的预想的效果
 
 
 
经典的Hello Qt!就讲述到这里。。。。









本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/311387,如需转载请自行联系原作者

目录
相关文章
|
14天前
|
运维 算法 数据可视化
基于MATLAB的自然图像梯度分布重尾特性验证方案
基于MATLAB的自然图像梯度分布重尾特性验证方案
|
4天前
|
弹性计算 缓存 网络协议
阿里云u2i实例——企业上云第一台云服务器,通用算力型ECS费用价格整理
阿里云ECS通用算力型u2i实例,企业入门首选,搭载Intel Xeon Platinum处理器,2核4G仅640元/年,4核8G仅1170元/年,低至2.5折,开发测试成本直降75%,助力中小企业高效上云。
161 90
|
5天前
|
API PHP 数据库
解锁PHP数组的强大威力:超越基础遍历
解锁PHP数组的强大威力:超越基础遍历
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
AI检测技术:如何识别机器生成的“数字指纹”?
AI检测技术:如何识别机器生成的“数字指纹”?
208 115
|
15天前
|
机器学习/深度学习 人工智能 算法
生成式人工智能算法备案的背景及发展趋势V3.0 20251029更新
本文记录作者两年来亲历算法备案政策 evolution,从2023年ChatGPT引发AIGC热潮,到2025年备案趋严、审核升级,展现我国AI监管由“增量”转向“提质”的全过程。揭示AI发展需合规护航,备案已成产品上线刚需,未来门槛将更高,草根入局愈发艰难。
生成式人工智能算法备案的背景及发展趋势V3.0 20251029更新
|
30天前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
199 89
|
5天前
|
存储 Kubernetes Docker
部署eck收集日志到k8s
本文介绍基于ECK(Elastic Cloud on Kubernetes)在K8s中部署Elasticsearch、Kibana和Filebeat的完整流程。采用Helm方式部署ECK Operator,通过自定义YAML文件分别部署ES集群、Kibana及Filebeat,并实现日志采集与可视化。重点涵盖命名空间一致性、版本匹配、HTTPS配置禁用、资源限制、存储挂载及权限RBAC设置,支持系统日志、应用日志与容器日志的多源采集,适用于生产环境日志系统搭建。
273 94
|
18天前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
207 114