簡體   English   中英

Qt:如何使用通過* .ui文件中的代碼創建的窗口小部件

[英]Qt: How can I use my widgets created with code in the *.ui file

我在Qt中有一個使用QWizard和QWizardPage類制作的項目。 有兩種創建窗口小部件的方法,即:標簽:

  1. 一種是轉到* .ui文件並搜索該元素,然后將其放在所需的位置(可視方式)。 然后,您可以使用ui->nameOfLabel在代碼上訪問它。
  2. 另一個將轉到您的代碼並像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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM