最開始瞭解QT的時候,以爲窗口的創建是在new那個窗口對象的時候,但瞭解一些之後才知道,原來不是。直接看下面函數調用過程,可以讓你對QT更加了解:
QWidget::show()
||
\/
QWidget::setVisible(bool visible)
||
\/
QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
||
\/
QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyOldWindow)
||
\/
QWindow::create()
||
\/
QWindowPrivate::create(bool recursive)
||
\/
QWindowsIntegration::createPlatformWindow(QWindow *window) const
||
\/
QWindowsIntegration::createWindowData(QWindow *window) const
||
\/
QWindowsWindowData::create(const QWindow *w,
const QWindowsWindowData ¶meters,
const QString &title)
||
\/
WindowCreationData::create(const QWindow *w, const WindowData &data, QString title) const
||
\/
QWindowsContext::registerWindowClass(const QWindow *w, bool isGL)
||
\/
QWindowsContext::registerWindowClass(QString cname,
WNDPROC proc,
unsigned style,
HBRUSH brush,
bool icon)
||
\/
最後調用系統API創建窗口 CreateWindowEx