2023-12-05 Qt学习总结3
点击 <C 语言编程核心突破> 快速C语言入门
前言
要解决问题: 学习qt最核心知识, 多一个都不学.
九 QObject基类
QObject是Qt中最基本的类,所有Qt中的对象都从该基类派生而来。
QObject提供了信号槽机制和属性系统,使得Qt应用程序可以实现高效的事件处理和内置的类型转换。
QObject是一个C++类,同时也是Qt元对象系统的重要概念。
QObject还可以自定义事件和事件过滤器,使得开发者可以轻松地编写和组织复杂的应用程序。
使用QObject作为基类,可以使得派生类成为一个Qt对象,从而能够利用Qt的信号槽机制、事件处理机制和属性系统,为应用程序提供更灵活、更可靠的架构支持。
以下是QObject的常用函数:
-
QObject::QObject(QObject *parent = nullptr)构造函数,创建一个QObject对象。 -
QObject::~QObject()析构函数,销毁QObject对象。 -
void QObject::setObjectName(const QString &name)设置对象的名称。 -
QString QObject::objectName() const返回对象的名称。 -
void QObject::setProperty(const char *name, const QVariant &value)设置对象的属性。 -
QVariant QObject::property(const char *name) const返回对象的属性。 -
bool QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)连接一个信号与槽函数。 -
bool QObject::disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)断开一个信号与槽的连接。 -
void QObject::deleteLater()在事件循环中删除对象。 -
QObjectList QObject::children() const返回子对象的列表。 -
bool QObject::event(QEvent *event)处理事件。 -
bool QObject::eventFilter(QObject *watched, QEvent *event)过滤事件。 -
QThread *QObject::thread() const返回对象所属的线程。 -
bool QObject::blockSignals(bool block)阻止或取消阻止这个对象的所有信号。 -
bool QObject::signalsBlocked() const返回是否阻止了这个对象的所有信号。 -
void QObject::dumpObjectInfo()输出对象信息。 -
void QObject::dumpObjectTree()输出对象树形结构。
十 QWidget基类
QWidget是Qt中所有用户界面类的基类,它提供了一个空白的窗口部件,可以作为其他窗口部件的父类。
QWidget提供了很多基本的函数和信号,包括绘制、布局、尺寸调整、事件处理等。
QWidget还支持嵌套,可以将多个QWidget嵌套在一起形成复杂的界面。
除了QWidget,Qt还提供了一些其他的窗口部件类,例如QMainWindow、QDialog等。
这些窗口部件类都是从QWidget派生而来,因此它们都可以使用QWidget提供的函数和信号。
但是这些窗口部件类还提供了一些特殊的功能,例如菜单栏、工具栏、状态栏等,可以方便开发者快速构建各种类型的用户界面。
下面是QWidget基类常用的函数:
-
QWidget():构造函数,创建一个基本的QWidget对象; -
virtual ~QWidget():虚析构函数,释放QWidget对象; -
void setWindowTitle(const QString& title):设置窗口标题; -
void setWindowIcon(const QIcon& icon):设置窗口图标; -
void resize(int w, int h):设置窗口大小; -
void setFixedSize(int w, int h):设置窗口固定大小; -
void move(int x, int y):移动窗口到给定的位置; -
void show():显示窗口; -
void hide():隐藏窗口; -
void close():关闭窗口; -
void setCursor(const QCursor& cursor):设置光标; -
QWidget* parentWidget() const:返回父窗口; -
void setLayout(QLayout *layout):设置布局管理器; -
QLayout* layout() const:返回当前布局管理器; -
void setStyleSheet(const QString& styleSheet):设置样式表; -
void setWindowFlags(Qt::WindowFlags type):设置窗口标识。
十一 QMainWindow类
QMainWindow是Qt应用程序中最常用的窗口类型之一。
它提供了一个完整的应用程序主窗口的基础, 可以包含菜单栏、工具栏、状态栏和中央窗口部件等。
QMainWindow类继承自QWidget类, 它提供了许多方法和信号来简化应用程序的开发和管理。
可以使用它的方法来管理菜单栏、工具栏和状态栏的内容,以及中央窗口部件的位置和大小等。
QMainWindow类常用函数:
-
QMainWindow(QWidget * parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())构造函数。 -
void setCentralWidget(QWidget * widget)设置窗口的中间部件。 -
QMenuBar* menuBar() const返回窗口的菜单栏部件。 -
QToolBar* addToolBar(const QString & title)添加工具栏部件。 -
QStatusBar *statusBar() const返回窗口的状态栏部件。 -
void setStatusBar(QStatusBar * statusbar)设置窗口的状态栏部件。 -
void addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget)添加可停靠的窗口部件。 -
QWidget* centralWidget() const返回窗口的中间部件。 -
QList<QDockWidget *> dockWidgets()返回窗口中所有的可停靠的窗口部件。 -
Qt::ToolBarArea toolBarArea(QToolBar * toolbar) const返回工具栏部件的停靠区域。 -
void removeDockWidget(QDockWidget * dockwidget)删除可停靠的窗口部件。 -
QWidget * takeCentralWidget()取走窗口的中间部件并将其返回。 -
void setCorner(Qt::Corner corner, Qt::DockWidgetArea area)设置可停靠的窗口部件的角落。 -
void setDockOptions(QMainWindow::DockOptions options)设置可停靠的窗口部件的选项。
总结
九 QObject基类
十 QWidget基类
十一 QMainWindow类
点击 <C 语言编程核心突破> 快速C语言入门
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!