2013-11-25 96 views
0

我有一個qt設計器用戶界面窗體,它在窗體的底部有一個qwidgetqwidget有一個提升的小部件。如何關閉qt widget ui,點擊推廣的widget上的按鈕?

推廣的小部件有許多標籤和按鈕。其中一個按鈕是一個主頁按鈕。點擊此按鈕後,用戶需要關閉表格並打開家庭表格。

如果我使用傳統方法實現clicked()插槽並且說​​,則只有提升的小部件將被關閉。

我希望關閉整個用戶界面,然後打開主窗體。我該如何解決它?是否有從提升的小部件調用qt設計器ui表單以表明主頁按鈕被點擊?

任何幫助表示讚賞。謝謝

回答

0

您需要爲您的班級添加SIGNAL(假設名稱爲close()),然後無論何時按下此按鈕,SIGNAL都會熄滅,並且通過將您的班級連接到此信號,您​​可以將您的班級設置爲關閉。 Here你可以找到關於信號的基本教程。如果你把代碼放在問題中,我也可以引導你通過代碼。

+0

好..這些都是推廣的小部件。它是ui的一部分。所以傳統的發射信號和主要的ui插槽連接不起作用。我早些時候嘗試過。在我點擊的按鈕上點擊發出this-> home(),然後在主UI中,我將這個類的信號連接到了gotoHome()插槽,這表示this-> close();這是行不通的。 – Giz

+0

@Giz你應該顯示示例代碼。 –

+0

我用這個對象作爲提升小部件的基類,然後從那裏接收信號home()。這工作。早些時候,我已經實例化了提升的widget類,並嘗試連接發出的信號。我沒有意識到主UI形式中的基類qwidget是實際的對象。感謝您的幫助。 :) – Giz