点击 <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语言入门