2014-10-07 84 views
3

我正在爲工業機器創建一個GUI,我想要一個顯示一般狀態信息的「主」窗口,以便用戶點擊圖標並讓gui無縫切換到不同的視角。例如,主窗口上有一個警告圖標,他們點擊它並且窗口轉換到該子系統的詳細狀態頁面。QT GUI - >在單個窗口中查看多個視圖

我的問題是,我還沒有找到一個在QT中完成這個的好方法。我可以打開一個新窗口,但我不希望用戶管理多個窗口,標籤具有一些此功能,但我不希望用戶必須單擊/管理標籤。我嘗試了幾個圍繞隱藏/顯示組件的選項,但事實上,我無法在同一個窗口中定義多個佈局,並且有一個理智的方式來管理和切換它們,但卻難以實現。所以簡而言之,我希望有一個沒有標籤的屏幕,裏面充滿了圖標/狀態小部件,讓用戶能夠點擊一個小部件(例如一個會變成紅色的部件)和(來自用戶視角),所有主要小部件消失並由該子系統的詳細視圖取代,然後當用戶完成該視圖時,他們可以快速轉換回主要狀態頁面。這有意義嗎?

有關如何解決此問題的任何建議?謝謝大家。

回答

2

使用QStackedWidget

鏈接:http://qt-project.org/doc/qt-4.8/qstackedwidget.html

你可以把不同的部件與addWidget (QWidget * widget)方法。將其中一個按鈕連接到相應的插槽,該插槽將使用setCurrentIndex (int index)方法更改小部件。

如果您使用QMainWindow子類,則可以將QStackedWidget設置爲中央控件。

看看這張圖:

enter image description here

每個小部件(1,2,3,...)可以與其他子控件的佈局(例如,用於顯示不同的數據),並且可以添加到QStackedWidget。在此之後,您應該只有setCurrentIndex才能顯示其中一個小部件。

+0

這正是我所期待的。非常感謝你。 – user1553046 2014-10-07 21:09:45