[英]Qt: How can I use my widgets created with code in the *.ui file
我在Qt中有一個使用QWizard和QWizardPage類制作的項目。 有兩種創建窗口小部件的方法,即:標簽:
ui->nameOfLabel
在代碼上訪問它。 QLabel codedLabel;
一樣創建代碼QLabel codedLabel;
實際上,我正在使用第二種方法(對於我來說,創建,顯示和使用起來更容易),但是我的問題是: 有什么方法可以在* .ui文件中看到我的標簽codedLabel?
我想將其移動到屏幕上的某個空間,在這種情況下,通過視覺方式(但要在代碼中而不是在ui中創建標簽)對我來說要容易得多。
非常感謝。
在運行時從源代碼創建的小部件,並以子級形式添加到小部件時,當您編輯將添加到小部件的.ui文件時,在Qt Designer中將無法看到它們。
但是,可能還有一種選擇(閱讀您要實現的目標:根據上下文顯示是否存在某些子窗口小部件):
在Qt Designer中從.ui創建窗口小部件並將其隱藏( QWidget::hide()
),甚至在運行時不需要時,也可以通過編程方式將其刪除( QLayout::removeWidget()
)。
如果您真正想看到它的真正原因是因為您想“ 將它移動到屏幕上的某個空間,在這種情況下,對我而言,能夠通過視覺方式實現它要容易得多 ”。 然后,我建議您僅在Qt Designer中創建一個空的QWidget
(或QLayout
)(以圖形方式:易於放置在您想要的位置),然后(以編程方式)將QLabel
添加到其中(而不是將其添加到主頂級小部件中) ):然后將其放在您從Qt Designer工具確定的位置。
您不需要任何復雜的代碼即可在特定位置以編程方式顯示您的QLabel,只需選擇合適的父級使其在正確的位置顯示即可!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.