好儿郎~志在四方

Qt视频教程地址:http://space.bilibili.com/84360636/#!/index

  • 目录视图
  • 摘要视图
  • 订阅
图灵赠书——程序员11月书单    【思考】Python这么厉害的原因竟然是!    感恩节赠书:《深度学习》等异步社区优秀图书和作译者评选启动!    每周荐书:京东架构、Linux内核、Python全栈

在Qt中使用C++代码创建界面

标签: QtC++创建界面纯代码图文讲解
2016-05-08 15:05 18911人阅读 评论(0)收藏举报
分类:
Qt编程浅尝(91)

版权声明:本文为博主原创文章,未经博主允许不得转载。

Qt 支持两种创建界面的方式:

  • 一种是使用C++代码,Qt 自诞生以来就支持;

  • 一种是使用 QML,可以创建个性化的界面

Qt 提供了多种工程类型,选择不同的工程类型将导致使用不同的方式来创建界面。

首次打开Qt,会出现欢迎界面,点击New Project按钮,或者在菜单栏点击文件,然后选择新建文件或项目,

都会弹出向导对话框,如下图所示:(不同的Qt编译器版本,界面可能会有所差别

Qt Widgets Application和Qt Console Application工程将会使用C++代码,Console 用来创建控制台程序,Widgets 用来创建GUI程序。

Qt Quick ApplicationQt Quick Controls ApplicationQt Canvas 3D Application工程将会使用 QML 代码,

Quick Control 主要比 Quick 多一些控件,Canvas 3D 用来创建3D动画。

选择Qt Widgets Application,点击Choose...按钮,弹出如下对话框:

填写好项目名称和保存路径,点击下一步按钮,弹出工具选择对话框:

选中Select all kits即可。这里我使用的是 VS2010 版的Qt,你也可以使用其他编译器。点击下一步按钮:

填写项目中要使用到的类的信息。简单起见,取消“创建界面”选项。单击下一步按钮,弹出“项目管理”对话框,点击完成按钮,完成项目的创建。

可以看到,IDE自动生成了四个文件:

  • WidgetsDemo.pro :为工程文件,它是 qmake 产生的用于生成 makefile 的配置文件,它的名称和项目名称是一样的。
  • main.cpp :是主文件,里面就是一个 main() 函数,程序从该文件开始执行。
  • mainwindow.h : MainWindow 类的头文件
  • mainwindow.cpp:是MainWindow 类的源文件。
  • MainWindow: 是我们在创建项目时指定的名字。

整个项目的示意图如下:

现在点击运行(Run)按钮,或者按下Ctrl+R快捷键,就可以看到编译结果,如下图所示:

这是一个最简单的 Qt Widget 程序。

显示“Hello World”:

接下来,我们让程序显示"Hello World!"。打开 mainwindow.cpp,在构造函数 MainWindow() 中添加如下代码:

[cpp] view plaincopyprint?
  1. //设置标题
  2. this->setWindowTitle(tr("Widgets演示"));
  3. //设置客户区大小
  4. this->resize(300, 120);
  5. //设置背景颜色
  6. QPalette palette = this->palette();  //获取调色板
  7. palette.setColor(QPalette::Window, QColor(255, 255, 255));  //设置为白色
  8. this->setPalette(palette);  //重新设置调色板
  9. //添加QLabel控件
  10. QLabel *label = new QLabel(this);  //创建QLabel控件
  11. setCentralWidget(label);  //将当前控件至于中央
  12. label->setText(tr("Hello World!"));  //设置控件文本
  13. label->setAlignment(Qt::AlignCenter);  //文本水平和垂直都居中

运行结果为:

也可以在设置文本时使用简单的HTML。将上面第 13 行代码改为:
label->setText(tr("<font color='red' face='微软雅黑' size='6'>Hello World!</font>"));

运行结果为:

在Qt中使用C++代码创建界面相关推荐

  1. Qt中另一种创建线程的方式

    文章目录 1 Qt中另一种创建线程的方式 1.1 另一种创建线程的方式 1.2 同步型线程的设计 1.3 异步型线程的设计 1 Qt中另一种创建线程的方式 1.1 另一种创建线程的方式 历史的痕迹: ...

  2. qt中使用 ui 文件进行界面设计

    目录 1.创建 Qt 应用 ​2.项目创建成功 3.直接点击打开 mainwindow.ui 文件 4.随便从左边侧边栏拖拽一个空间到 界面设计区域 5.在右侧边栏右键点击 pushButton 控件 ...

  3. qt中opengl窗口的创建

    该笔记借鉴自 : "懂deeee珍惜"的 现代OpenGL+Qt学习笔记之二:程序框架 "爱种鱼的猫"的 QT中使用OpenGL(0)--创建一个窗口 引用引自 ...

  4. QT中在设计师Design进行界面开发后查看ui源码

    1.有时想在qt代码中实现某些功能,像我遇到的情况就是想在界面上实现添加一个水平的空白控件,也就是设计师里面的Horizontal Spacer控件,如图1 然后将其添加到布局里面,效果如图2 图1 ...

  5. 在Qt中如何使用QtDesigner创建的UI文件(一) (转)

    使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤.但是在享受这种便利的同时,我们也失去了理解更多知识背后的点滴.在IDE中,如果我们要开 ...

  6. Qt中多个动态创建的按钮同时绑定一个槽函数,判断被点击的是哪个按钮

    当动态创建按钮,每一个创建的按钮都与同一个槽函数绑定,点击按钮的时候获取被点击的按钮的文本. 代码如下: QString getClickedBtn() {outPut<<"ge ...

  7. solrcloud java_SolrCloud之zookeeper中使用java代码创建集合

    javaAPI调用solrcloud上传配置和删除/创建集合.网上大多都是通过http路径调用创建,以下是通过Zookeeper+solr进行操作: ? public class SolrConfig ...

  8. 如何在WPF中通过XAML代码创建菜单项

    2019独角兽企业重金招聘Python工程师标准>>> 示例代码: 示例1: <Grid><Menu><MenuItem Header="Fi ...

  9. qt中的数据库可以创建在主函数中吗_在qt中怎么建立数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)
  2. C语言中结构体参数变量的传递
  3. FTP的主动模式和被动模式,你应该用那种?
  4. Docker 1.10版本发布
  5. 涨点小姿势 奥迪TFSI前面数字是什么
  6. java职业教育考试题_Java认证考试中Java构造方法题目解答
  7. Android 4 2官方文档chm格式下载
  8. python 进阶案例_【python3】while和for的进阶案例
  9. 【华为云技术分享】《跟唐老师学习云网络》 - TUN/TAP网线
  10. 终于知道为什么NVIDIA的linux驱动这么烂了,一波官方文档告诉你:Linux GPU Driver Developer’s Guide
  11. 用bat文件在web端拉起本地cs应用(以拉起本地QQ音乐为例)
  12. 计算机数制和运算的一点总结.
  13. 2020-04-17-E-prime常见问题汇总
  14. java读取文件的万能解决方案
  15. UiPath Excel 数据筛选修改
  16. [zt]再谈QQ自动登陆器:提供C#源码下载(下)
  17. Spring Security登录用户数据获取(4)
  18. 共享单车大败局:谁是凶手,谁在买单?
  19. I2C 专题(一)I2C 简介
  20. se r rsefersa

热门文章

  1. 数据结构实验之二叉树六:哈夫曼编码
  2. 往有序链表的插入元素使原链表依旧有序
  3. 【C++】17. map []操作符、insert()、emplace()
  4. Java集合必会14问(精选面试题整理)
  5. 日志 log4j.xml配置详解
  6. MySQL事务隔离级别详解
  7. Spring松耦合的实现
  8. UISegmentedControl的所有操作总结
  9. Vim 实用技术,第 1 部分: 实用技巧
  10. Facebook 工程师是如何高效工作的?