2011-10-19 65 views
20

我想僅在選擇單選按鈕時才顯示一個組框。
我設法做到這一點,將單選按鈕的toggled(bool)信號連接到組框的setShown(bool)插槽。
問題是單選按鈕最初被取消選擇,但組框最初顯示,所以我必須選擇/取消選擇單選按鈕,使其消失。
有沒有什麼辦法可以讓組框在Qt Creator Designer中最初不可見,而無需在代碼中完成?最初在Qt Creator中隱藏控件

回答

37

你不能。

visible屬性似乎從Qt設計師的屬性編輯器來自動刪除,您不能添加回來。

您可以通過添加以下XML塊爲插件的節點中手動添加屬性到的.ui文件,你要隱藏:

<property name="visible"> 
    <bool>false</bool> 
</property> 

但部件將不可見或移動時,你重新打開與設計者的界面。它仍然會出現在小部件層次結構中。

4

您可以嘗試使用屬性(查看setHidden)進行循環播放,但在代碼中執行操作要容易得多。

所以,你會怎麼做:

ui setup code 
ui->groupBox->setHidden(true) 

radio button slot 
if true ui->groupBox->setHidden(false) 
else if false ui->groupBox->setHidden(true) 

這確實是最簡單的方式,我從來沒有多少運氣在Qt的已經使用Designer添加屬性。

+0

我已經做到了這一點,我一直在尋找替代方法。自定義插槽不需要,'切換(布爾)'連接到'setShown(布爾)'工作正常。 – Dani

+0

在這種情況下,我建議做一個挖成設計器來實現的setHidden/setShown屬性,這屬性編輯器。 –

+0

非常感謝。有用。 – oya163