Qt中的控件可以使用代码添加也可以通过界面编辑器手工拖拽,问题是那些拖拽的控件不能体现在代码里吗?我想针对控件做一些微调(譬如全屏窗口时,某个label依然居中)。这个好像只能通过代码修改布局吧。遇到这种问题时,怎么处理呢?还是你们都是用代码添加控件的?
闭关修行中......
(很久沒用 Qt 了,當時用的是 Qt4, 不過變化不大)
UI 設計器產出的是.ui 文件,.ui 文件會在編譯的時候被uic 編譯成ui_WidgetXXOO.h, 裡面定義了一個Ui_WidgetXXOO 的類,裡麵包含了設計器里通過拖拽添加的所有控制項對應變量,然後還有個setupUi 函數,用來完成你在設計器中對控制項所做的修改。
回到 WidgetXXOO 類,它會包含這個 ui_WidgetXXOO.h, 然後在構造函數以 this 為參數調用 Ui_WidgetXXOO::setupUi, 來加載你通過設計器來添加的控件,和做的修改。
以上的 UI 設計器的工作原理,你可以用 Qt Creator 建立一個預設項目,就可以看到我上面提到的那些程式碼。它是一個透明的工作過程,你如果需要自己來寫程式碼,修改控件,只需要在 WidgetXXOO 的建構函式中,緊接著 Ui_WidgetXXOO::setupUi, 來寫你要加的程式碼就可以了。
在 Qt 開發中,UI 設計器是一個非常好用的東西,通常能用 UI 設計器的都是直接拖,然後在此基礎上自己寫程式碼完成那些透過 UI 設計器完成不了的工作。
介面編輯器實際上編輯的是.ui文件,你可以直接用文字編輯器開啟.ui文件進行編輯。這些拖曳的控件可以透過ui物件來獲取,所以即使是拖曳上去的控件,也可以由程式碼動態地控制它們。
(很久沒用 Qt 了,當時用的是 Qt4, 不過變化不大)
UI 設計器產出的是.ui 文件,.ui 文件會在編譯的時候被uic 編譯成ui_WidgetXXOO.h, 裡面定義了一個Ui_WidgetXXOO 的類,裡麵包含了設計器里通過拖拽添加的所有控制項對應變量,然後還有個setupUi 函數,用來完成你在設計器中對控制項所做的修改。
回到 WidgetXXOO 類,它會包含這個 ui_WidgetXXOO.h, 然後在構造函數以 this 為參數調用 Ui_WidgetXXOO::setupUi, 來加載你通過設計器來添加的控件,和做的修改。
以上的 UI 設計器的工作原理,你可以用 Qt Creator 建立一個預設項目,就可以看到我上面提到的那些程式碼。它是一個透明的工作過程,你如果需要自己來寫程式碼,修改控件,只需要在 WidgetXXOO 的建構函式中,緊接著 Ui_WidgetXXOO::setupUi, 來寫你要加的程式碼就可以了。
在 Qt 開發中,UI 設計器是一個非常好用的東西,通常能用 UI 設計器的都是直接拖,然後在此基礎上自己寫程式碼完成那些透過 UI 設計器完成不了的工作。
介面編輯器實際上編輯的是.ui文件,你可以直接用文字編輯器開啟.ui文件進行編輯。這些拖曳的控件可以透過ui物件來獲取,所以即使是拖曳上去的控件,也可以由程式碼動態地控制它們。