Qt 编程 —— 入门学习,开发常用的重要基类介绍

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888

Qt中主要的基类

QOblect 类

作用以及功能:

  • 是Qt对象模型的核心。
  • 是几乎所有Qt类和所有部件(Widget)类的基线(即它们都继承于QObject类)。
  • 提供了信号-槽的通信机制。
  • 提供了事件处理机制。
  • 实现了内存管理的功能。

QObject内存管理机制:

Qt有一套自己的内存管理机制:父子对象管理机制。

处理流程:

  • 每一个QObject对象都可以有一个指向父亲的参数。
  • 孩子会通知他的父亲自己的存在,父亲会把它加入到自己的孩子列表中。
  • 所有子对象的内存管理都转移给了父对象。
  • 当一个父对象被删除,它的全部子对象也同样会被删除。
QObject *parent = new QObject();
QObject *child1 = new QObject(parent);
QObject *child2 = new QObject(parent);
QObject *child1_1 = new QObject(child1);
QObject *child1_2 = new QObject(child1);

delete child1;  //删除其中一个子对象,此时一起被删除有 child1,child1_1, child1_2三个对象

delete parent; //删除父对象,此时父对象,以及其下的所有子对象都会被删除。

继承关系图:

parent
child1
child2
child1_1
child1_2

QApplication类

作用以及功能:
  QApplication类负责GUI应用程序的控制流和主要的设置,包括:

  • QApplication是QObject的子类。
  • 主事件循环体,负责处理和调度所有来自系统的事件。
  • 处理应用程序的开始、结束。
  • 系统和应用程序方面的总设置,例如设置编码方式等。

  Qt应用程序中,首先要创建一个QApplication对象,不管有多少个窗口,
QApplication对象只能有一个(通常会在main函数中进行创建),而且必须在其他对象之前创建;之后就可以利用全局指针qApp访问QApplication对象。

  退出应用程序可以调用继承自QCoreApplication类的quit或exit函数

  • quit ():告诉应用程序退出,并返回0(表示成功)
  • exit(0):同quit()
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	return a.exec();
}

QWidget 类

作用以及功能:

  • 通常作为应用程序(Application)的主界面;也可以作为一个容器,来包含(显示)其他的图形界面组件。
  • QWidget类是所有用户界面对象的基类,是QObject类的子类,继承了QObject类的属性。
  • 窗口部件从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己,按钮(Button)、菜单(menu)、滚动条(scroll bars)和框架(frame)都是窗口部件。
  • 窗口部件可以包含其它的窗口部件。例如,一个应用程序界面通常就是一个包含了QMenuBar,一些QToolBar,一个QStatusBar和其它的一些部件的窗口。
  • 绝大多数应用程序使用一个QMainWindow或者一个QDialog, QWidget作为程序界面,但是Qt允许任何窗口部件成为窗口。
  • 当窗口部件被创建的时候,它总是隐藏的,必须调用show()或者exec()函数来使它可见。
  • QWidget类有很多成员函数,但一般不直接使用,而通过子类继承来使用其函数功能。

Qt中的常用库或者类

QtCore 库

头文件:#include <QtCore>

作 用:提供了Qt编程时的一些常用的基础工具类。

下面介绍部分常用类,其他不常用的这里不再一 一介绍,具体使用时可以查阅Qt开发文档。

基本数据类型,例如:QString、QByteArray。
基本数据结构,例如:QList、QVector、QMap。
输入输出类, 例如:QTextStream、QFile。
多线程编程用到的类,例如:QThread、QWaitCondition。

QtGUI 库

作 用:主要是包含一些图形界面组件。

头文件:#include <QtGui>

窗口部件类,例如:QWidget,QLabel、QPushButton等。
布局类,例如:QVBoxLayout、 QHBoxLayout、QGridLayout等。
主窗口类,QMainWindow、QMenu等。
绘图类,例如:QPainter、QPen、QBrush等。
基本对话框类,例如:QFileDialog、QPrintDialog等。

网络和数据库相关类

QtNetwork,Qt网络库,包括了网络编程常用的类:
QTcpSocket,QUdpSocket,QHttp,QFtp

QtSql,Qt数据库类,包括了数据库编程常用类
QSqlQuery, QSqlDatabase

Qt基本对话框

文件对话框(QFileDialog)

功 能:标准文件对话框。
详细介绍,参见文章《Qt 编程 —— 文件对话框(QFileDialog)的使用》。

文件对话框(QColorDialog)

功 能:标准颜色对话框。
详细介绍,参见文章《Qt 编程 —— 颜色对话框(QColorDialog)的使用》。

文件对话框(QFontDialog)

功 能:标准字体对话框。
详细介绍,参见文章《Qt 编程 —— 字体对话框(QFontDialog)的使用》。

文件对话框(QInputDialog)

功 能:标准输入对话框。
详细介绍,参见文章《Qt 编程 —— 输入对话框(QInputDialog)的使用》。

文件对话框(QMessageDialog)

功 能:标准消息对话框。
详细介绍,参见文章《Qt编程 ——消息对话框(QMessageBox)的使用》。

基本图形界面组件的应用

基本图形界面组件概述

  Qt 提供了大量的基本图形界面组件, 用来进行应用程序的图形界面设计,常用的基本图形界面组件如下:

  • 按钮( QPushButton)
  • 标签(静态文本框)( QLabel)
  • 行编辑框(QLineEdit)
  • 复选框( QCheckBox)
  • 单选按钮( QRadioButton)
  • 分组框( QGroupBox)
  • 列表部件框( QListWidget)
  • 组合框( QComboBox)
  • 自旋框( QSpinBox)
  • 滑动条( QSlider)
  • 进度条( QProgressBar)
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一种跨平台的GUI编程框架,被广泛应用于软件开发领域。以下是一些常用Qt GUI编程指令合集。 1. QWidgetQt中的基类,用于创建窗口部件。可以通过继承QWidget来创建自定义的窗口部件。 2. QApplication:代表整个应用程序,负责处理应用程序的初始化和事件循环。 3. QMainWindow:用于创建主窗口应用程序。可以添加菜单栏、工具栏、状态栏以及中心部件等。 4. QLabel:用于显示文本和图像。可以设置文本的字体、颜色以及对齐方式等。 5. QPushButton:用于创建按钮。可以设置按钮的文本、图像以及点击事件的响应函数。 6. QLineEdit:用于输入单行文本。可以设置输入框的提示文本、格式验证以及输入内容的获取。 7. QComboBox:用于创建下拉列表框。可以设置下拉列表的选项和当前选择项的获取。 8. QRadioButton和QCheckBox:分别用于创建单选按钮和复选框。可以设置选中状态以及状态改变时的响应函数。 9. QSlider:用于创建滑动条。可以设置滑动条的范围、当前值以及数值变化时的响应函数。 10. QGridLayout:用于创建网格布局。可以将窗口部件按照行列进行排列。 11. QBoxLayout:用于创建纵向或横向的盒式布局。可以将窗口部件沿一个方向进行排列。 12. QMessageBox:用于显示消息对话框。可以设置对话框的图标、按钮和响应结果的获取。 总结起来,以上列举的指令只是Qt GUI编程中的一小部分常用指令,Qt还有很多其他和函数可以用来构建精美的用户界面。通过学习和使用这些指令,可以方便地创建自定义的GUI应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值