在學習qt的時候,曾有這樣的疑問,我們新建乙個專案,比如繼承自qwidget,在設計介面的時候,使用ui設計,但是在**部分只出現xml格式的**,卻沒有我們熟悉的.h格式,那這些控制項、布局僅僅是通過xml檔案來控制的麼,而我在自己的源**.cpp中想要使用ui設計的控制項,必須使用ui::控制項名,這是為什麼呢
假設我新建了乙個工程,設計一些控制項,我繼承自qwidget,自己的類名為gotocell,那麼ui名就為gotocell.ui,在構建該專案或者執行該專案時,會多出了乙個資料夾,名為gotocell-build-destop,在該資料夾下有乙個標頭檔案叫ui_gotocell.h,這個就是ui介面對應的標頭檔案,這裡定義了我們設計的控制項,在你還沒有build專案的時候,這個檔案是沒有的,它是make的時候生成的,qt使用uic工具對***.ui檔案進行分析,並生成相應的ui_***.h檔案,如果想要手動生成,方法是用命令列,uic -o ui_gotocell.h gotocell.ui,這個命令列可以直接通過右擊專案中的gotocell檔案選中中「在此開啟命令列」
我們需要進一步了解是怎麼利用這個ui_gotocell.h的
開啟ui_gotocell.h檔案,有如下語句
namespace
ui;
}我們自己的類gotocell是繼承了ui_gotocell//namespace
ui
而我們設計的介面,即控制項什麼的都是在ui_gotocell類中定義的,即ui自動生成的類,進入到gotocell.h檔案,有如下語句
namespace
ui
classgotocell
:public
qwidget //命名空間外定義乙個同名類gotocell
;開啟gotocell.cpp
#include
"gotocell.h"
#include"ui_gotocell.h" //這一句現在明白了吧
gotocell::gotocell
(qwidget
*parent
):
qwidget
(parent
),
ui(newui
::gotocell
) //這也明白了吧
gotocell原則上是不允許修改ui自動生成的ui_***.h檔案的,這點要注意了::~gotocell
()
qt UI檔案轉py檔案
這裡設計了乙個簡單的登陸視窗,檔名為login.ui,如圖 在安裝的pyqt5中有uic工具,用執行程式,cd c python34 lib site packages pyqt5。在命令列中輸入如下命令 pyuic5.bat o ui login.py login.ui處理完成後會在同目錄下生成問...
Qt ui在程式中的使用
利用designer設計生成ui的3種使用方式 1.直接使用法 2.單繼承法 3.多繼承法 一.看乙個直接使用的例子 qwidget w new qwidget ui small s s.setupui w w.show 二.現在來討論單繼承法 本例項使用 designer 生成3個簡單的ui,在使...
解析xml檔案(DOM解析)
解析的檔案 醫院心電圖記錄單 門診號 1002080066 住院號 201800964 姓名 羅2 性別 女 年齡 26歲 心檢號 科室 婦產科 床號 9 複查時註明原心檢號 韻律 竇律 心房率 82 心室率 82 軸向 電軸正常 pr間期 0.13 qrs波 0.08 qt間期 0.34 正常心電...