跨平臺開發工具Qt入門教程:如何使用QWidget?
Qt(發音為“ cute”,而不是“ cu-tee”)是一個跨平臺框架,通常用作圖形工具包,它不僅創建CLI應用程序中也非常有用。而且它也可以在三種主要的臺式機操作系統以及移動操作系統(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設備,Android(Necessitas)和iOS的端口上運行。更多Qt產品詳情點擊這里>>
在上文中我們講到如何使用ASP .NET MVC Core應用程序創建Web設計器示例(點擊此處產看詳情)今天我們主要講如何通過ASP .NET MVC應用程序創建Web設計器示例(下)(上篇文章)
子類QWidget
到目前為止,我們已經將所有代碼都放入了main函數中。對于我們的簡單示例來說,這不是問題,但是對于越來越復雜的應用程序,我們可能希望將代碼分成不同的類。通常要做的是創建一個用于顯示窗口的類,并將該窗口中包含的所有小部件實現為該類的屬性。
在Qt Creator中,您可以通過File> New file or project> C ++> C ++ Class自動創建一個新類。

使該類從QWidget繼承,您可以獲得類似于下面的代碼
頭文件
#ifndef WINDOW_H #define WINDOW_H #include <QWidget> class Window : public QWidget { Q_OBJECT public: explicit Window(QWidget *parent = 0); signals: public slots: }; #endif // WINDOW_H
源文件
#include "window.h" Window::Window(QWidget *parent) : QWidget(parent) {}
您可以看到Qt Creator自動生成一個類模板。請注意,標頭中有一些新元素:
- Q_OBJECT宏。
- 一類新方法:信號
- 一種新方法:公共插槽
所有這些元素將在下一章中進行說明,現在不再需要它們。窗口的實現是在構造函數中完成的。我們可以聲明窗口的大小,以及該窗口包含的小部件及其位置。例如,可以通過以下方式實現包含按鈕的上一個窗口:
main.cpp
#include <QApplication> #include "window.h" int main(int argc, char **argv) { QApplication app (argc, argv); Window window; window.show(); return app.exec(); }
window.h
#ifndef WINDOW_H #define WINDOW_H #include <QWidget> class QPushButton; class Window : public QWidget { public: explicit Window(QWidget *parent = 0); private: QPushButton *m_button; }; #endif // WINDOW_H
window.cpp
#include "window.h" #include <QPushButton> Window::Window(QWidget *parent) : QWidget(parent) { // Set size of the window setFixedSize(100, 50); // Create and position the button m_button = new QPushButton("Hello World", this); m_button->setGeometry(10, 10, 80, 30); }
無需編寫析構函數來刪除m_button。在子系統中當Window實例不在堆棧中時,將自動刪除m_button。
在接下的文章中我們將講述信息傳輸示例。更多Qt開發工具點擊這里>>