點擊 <C 語言編程核心突破> 快速C語言入門
Qt學習總結
- 前言
- 九 QObject基類
- 十 QWidget基類
- 十一 QMainWindow類
- 總結
前言
要解決問題: 學習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語言入門