2010-05-19 45 views

回答

1

你將不得不組裝自己的標籤組件,但是我認爲,如果你繼承QTabBar和使用setTabButton(int index, ...)您可以設置自定義窗口小部件的選項卡中的項目,這將讓你控制的行爲,你可以通過改變它代碼或樣式它通過屬性選擇器例如

QTabBar MyButtonWidget[showalert=true] 
{ 
    background-color: red; 
} 
1

這似乎有點奇怪。你爲什麼不選擇該選項卡?

我不認爲你可以用樣式表做到這一點。您可以輕鬆地定製第一和最後但並非任何選項卡(據我所知)

http://doc.qt.io/archives/4.6/stylesheet-reference.html

在另一方面,你可以設置自定義圖標提醒注意或使用無效QTabBar :: setTabTextColor(INT指數,常量的QColor &顏色)

+0

我這樣做的原因是因爲換了一塊硬件設備的每個選項卡顯示的數據。如果發生故障,則會發生緊急情況,他們需要知道故障來自哪裏併到達相應的選項卡。這就是爲什麼選定的選項卡不夠用。 – 2010-05-19 19:44:02

+0

正如Anton指出的那樣,您可以爲選項卡着色。如果發生緊急情況,則可能需要切換標籤。其他選項包括使用彈出窗口或具有警報小部件,當發生故障時該小部件將變爲可見。 – 2010-05-19 19:49:02

+0

如何添加QLabel上面的標籤與消息,一些不好的事情發生和鏈接/按鈕導航到問題的標籤。當沒有錯誤時,消息將被隱藏。 – Anton 2010-05-19 19:50:21

0

你可能想嘗試簡單地使用樣式表來直接設計一個選項卡,而不是爲了這個目的而進行子類化。在樣式表中,可以使用:tab子控件訪問單個選項卡,然後可以修改動態屬性以將其狀態設置爲需要注意或不需要,並根據動態屬性應用樣式。

參見::tab sub controlCustomizing using dynamic properties

+0

沒有,這將無法正常工作,我無法精確選擇哪個標籤樣式。例如,如果我有15個選項卡,我不能說:tab:3 only tab:left tab:right,tab:middle etc .. – 2010-05-28 05:13:49

+0

@yan:但是,你可以使用QTabBar :: tab [urgent =「true」],然後在你的代碼中,使用aTab-> setProperty(「urgent」,true)在需要注意的選項卡上設置一個動態屬性;適當時 – Fred 2010-05-28 18:03:13

+1

想要相信你,但我只是試了一下,它似乎沒有工作。也許我做的不對,但是我沒有看到向單個選項卡添加動態屬性的方法,只能看到整個QTabWidget或QTabBar。如果你可以添加更多的細節,我會嘗試。 – 2010-05-28 20:37:43

相關問題