QT4 designer生成的標頭檔案的優化

2021-04-13 12:04:42 字數 860 閱讀 9854

前面的文章中舉了乙個用qt designer作qt程式介面設計的例子,但使用uic轉出來的標頭檔案**比較凌亂,看起來太累,如果做的是稍複雜一點的介面程式,放一段時間自己再來看,怕是要花不少時間,最好是對這個標頭檔案做一些優化。下面以上篇文章的例子來說明一下如何優化。

首先看看main.cpp中呼叫標頭檔案中設計好的視窗的過程:

qwidget w;

ui::form ui;

ui.setupui(&w);        

ui.show();

在這當中,ui通過檢視form.h可以得知是建立的命名空間,form是從ui_form生成的類,setupui是介面的初始化函式。這段**中定義了乙個qwidget物件,將其傳遞到ui_form中使用setup_ui對其進行介面初始化。

那麼,我們可以做這樣的修改,直接定義乙個qwidget派生的子類,它的初始化過程與setup_ui一致,於是,form.h可以修改為如下:

#ifndef form_h

#define form_h

class ui_form:public qwidget

;#endif

這裡定義了乙個ui_form類,原來的ui命名空間去掉了,ui_form是從qwidget派生出來的,可以直接在定義後使用show函式使其顯示,main.cpp就可以更改為

可以看出來,這其中的ui_form()是實現ui_form類的建構函式,它的**與原來的setup_ui()幾乎一致,區別在於用this代替了setup_ui()中作為引數傳遞進來的form,另外將setup_ui()中被呼叫的retranslateui()函式合併過來了。

做完這些修改後,儲存,編譯,執行,與直接原來使用uic生成的標頭檔案的程式完全一樣,但其**更容易看明白。

QT5 Designer 打不開的問題及解決方法

designer.exe 無法開啟背景 python 3.8 按照pip install pyqt5和pip install pyqt5 tools完成安裝後,進入.python libtkomfsite packages pyqt5 tools qt bin 目錄開啟designer.exe報錯如...

Qt4中ui檔案生成vcproj

製作ui檔案 先應該用qt designer繪製乙個自己的介面,並存為myform.ui 這裡的myform可以用自己喜歡的名字代替 在製作自己的介面檔案時要注意以下幾個要點 1 要記住ui檔案的名字,因為uic生成的 會存在ui myform.h裡 2 要記住主窗體的object name,因為u...

Qt呼叫VS生成的dll

預備知識 1 如果在沒有導入庫檔案 lib 而只有標頭檔案 h 與動態鏈結庫 dll 時,我們才需要顯示呼叫,如果這三個檔案都全的話,我們就可以使用簡單方便的隱式呼叫。2 通常windows下程式顯示呼叫dll的步驟分為三步 三個函式 loadlibrary getprocadress freeli...