1,手工编码方式

利用手工编码方式建立“Hello Qt!”程序

第一步:

得到界面

2,无UI的向导方式

从图中,我们发现向导为窗口程序提供了3个基类,分别外QMainWindow、QWidget、QDialog,3个基类的区别如下:

QMainWindow类:提供一个有菜单栏、工具栏和一个状态栏的应用窗口模式

QWidget类:是所有用户界面对象的基类。它从窗口系统接收鼠标、键盘和其他事件,并且在屏幕上绘制增加。

QDialog类:是对话窗口的基类。对话框窗口的主要用于短期任务以及和用户进行简要通信的顶级窗口

工程建立完毕后,有4个文件。其中头文件dialog.h和源文件dialog.cpp共同实现了仅属于本项目的对话框类Dialog。类Dialog派生自Qt的基本对话框类QDialog。

3,Qt设计器方式

借助Qt设计器(Qt Designer)可以以所见即所得的方式构件GUI程序。

(1)设计区:就是正中间的部分,主要用来布置各个窗口部件。

(2)部件列表窗:这里分类罗列了各种常用的标准部件,可以使用鼠标将这些部件
拖人主设计区中,放到主设计区的界面上。

(3)对象查看器:这里列出了界面上所有部件的对象名称和父类,而且以树形结构
显示了各个部件的所属关系。可以在这里单击对象来选中某个部件。

(4)属性编辑器:这里显示了各个部件的常用属性信息,可以在这里更改部件的-
些属性,如大小、位置等。这些属性按照从祖先继承的属性、从父类继承的属性和自己的
属性的顺序进行了分类。

(5) Action(动作)编辑器、信号和槽编辑器:这些和菜单命令、控件事件响应等相关,
放到以后使用时再介绍。

(6)常用功能工具栏:该工具栏中前4个按钮用于进人相应的模式,分别是窗口部件编辑模式(这是默认模式)、信号/槽编辑模式、伙伴编辑模式和Tab顺序编辑模式。后面几个按钮用来实现添加布局管理器以及调整控件大小等功能。

第2步,在对话框中添加控件。

从部件列表窗中拖曳一个Label(标签)到主窗体中,可以在标签属性编辑器中修改字体、对齐方式等属性

生成编译结构的文件,根据自己的路径来寻找ui_dialog

/********************************************************************************
** Form generated from reading UI file 'dialog.ui'
**
** Created by: Qt User Interface Compiler version 5.3.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/#ifndef UI_DIALOG_H
#define UI_DIALOG_H#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QDialog>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>QT_BEGIN_NAMESPACEclass Ui_Dialog
{
public:QLabel *label;void setupUi(QDialog *Dialog){if (Dialog->objectName().isEmpty())Dialog->setObjectName(QStringLiteral("Dialog"));Dialog->resize(400, 300);label = new QLabel(Dialog);label->setObjectName(QStringLiteral("label"));label->setGeometry(QRect(170, 140, 111, 51));retranslateUi(Dialog);QMetaObject::connectSlotsByName(Dialog);} // setupUivoid retranslateUi(QDialog *Dialog){Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));Dialog->setProperty("label", QVariant(QString()));
#ifndef QT_NO_ACCESSIBILITYlabel->setAccessibleName(QString());
#endif // QT_NO_ACCESSIBILITY
#ifndef QT_NO_ACCESSIBILITYlabel->setAccessibleDescription(QString());
#endif // QT_NO_ACCESSIBILITYlabel->setText(QApplication::translate("Dialog", "Hello Qt!", 0));} // retranslateUi};namespace Ui {class Dialog: public Ui_Dialog {};
} // namespace UiQT_END_NAMESPACE#endif // UI_DIALOG_H

Qt图形界面编程入门(创建一个简单的程序)相关推荐

  1. 《Qt图形界面编程入门》课后习题全解

    代码地址 https://github.com/duganlx/QT 说明 以下答案并非来自官方,而是本人自己实现的,若有啥问题,欢迎讨论(^-^) 所基于的书籍为<Qt图形界面编程入门> ...

  2. Qt图形界面编程入门(4)

    构造函数和析构函数 构造函数是一个与类同名的特殊的公有成员函数. 创建类对象时构造函数会被调用,且只调用一次/ 构造函数无返回类型. ·  默认构造函数格式: 类名(){.......} Accoun ...

  3. revit二次开发概念_BIM百科 | Revit二次开发入门--创建一个简单的程序

    获取<每日一技,我的成长轨迹>汇总 · 请访问柏慕联创官方网站: www.lcbim.com · 创建一个简单的Revit外部命令程序[Revit2017+VS2015]: 1.打开VS, ...

  4. Revit二次开发入门--创建一个简单的程序

    创建一个简单的Revit外部命令程序[Revit2017+VS2015]: 1.打开VS,我的版本是VS2015,点击[新建项目]→[Visual C#]→[类库],然后输入程序名称,如:Hello ...

  5. bim 二次开发c语言,BIM百科 | Revit二次开发入门--创建一个简单的程序①

    获取<每日一技,我的成长轨迹>汇总 · 请访问柏慕联创官方网站: www.lcbim.com · Revit插件制作实例步骤: 1.创建你的第一步骤插件 启动 Visual C# 速成版开 ...

  6. Qt图形界面编程入门(Qt的历史、Qt安装资源链接、Qt Creator简介)

    Qt的历史渊源 Qt是1991年由挪威的奇趣科技(Trolltech)公司开发的跨平台C++图形用户界面(GUI)用程序开发框架,2008年,奇趣科技公司被诺基亚公可收购,Qt也因此成为诺基亚公司旗下 ...

  7. Qt图形界面编程入门(基本窗口及控件)

    基本窗口类QWidget QWidget是所有窗体部件的基类,例如对话框类,主窗体类,以及其他诸如按钮,编辑框,标签等等都是由QWidget派生得到,QWidget拥有的方法往往都可以在其他子类中使用 ...

  8. Qt图形界面编程入门(信号和槽通信机制)

    信号和槽机制是Qt的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信. 声明了信号的对象,当其状态改变时,信号就由该对象发送出去,而且该对象只负责发送信号,它不知道另一端是谁在接 ...

  9. Qt图形界面编程入门(3)

    公有成员和私有成员 从访问权限上分,类的成员又分为:公有成员(public).私有成员(private)和保护成员(protected)三类. ·  公有成员用public来说明.这部分成员可以在程序 ...

最新文章

  1. AD下批量导入域用户
  2. 人工智能发展弊端的解决方案_高中优秀作文赏析:科技创新、人工智能与人类未来之辩...
  3. erdas2015几何校正模块在哪_在ERDAS中进行几何校正
  4. ACNet论文阅读笔记
  5. 【观点】风雨20年:我所积累的20条编程经验
  6. R语言观察日志(part3)--repeat循环
  7. Struts2的Maven依赖包
  8. indexOf()方法的使用,截取字符串,字符串截取,切割字符串,split(),join(),Replace()
  9. nginx集群报错“upstream”directive is not allow here 错误 [
  10. AsteriskNow 实用总结
  11. pandas(python2) 读取中文数据,处理中文列名
  12. 锻炼编程思维的小题目
  13. VC++中视频采集系统(摄像头的制作,串口通信的应用)
  14. 【深入理解JS核心技术】13. 什么是高阶函数
  15. 投影演示辅助软件——zoomIt
  16. Windows 命令 WMIC 使用详解
  17. 当保险行业不再是压舱石,平安保险还保险吗?
  18. 如何让音乐软件的歌词在touch bar上面显示?
  19. 我的世界java版如何加入hypixel_我的世界hypixel服务器怎么组队 hypixel服务器组队方法介绍...
  20. 基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix

热门文章

  1. IEDA 配置Git_04
  2. java职业发展路线图_软开(Java),该如何规划职业路线?
  3. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作
  4. C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程
  5. C语言变量声明和定义 - C语言零基础入门教程
  6. BugkuCTF-MISC题细心的大象
  7. java txt 按行读取_java读取按行txt文件
  8. python list 底层实现的数据结构_Python数据结构大起底——list篇
  9. java工程怎么构造成moven_将普通java工程结构改为由maven管理的工程结构域
  10. java for foreach 效率_Java中LinkedList的fori和foreach效率比较