簡體   English   中英

如何更改QTreeWidgetItem的一部分的背景或文本顏色

[英]How can you change the background or text color for part of a QTreeWidgetItem

我正在用C ++開發Qt應用程序。 該應用程序圍繞一個樹小部件,該樹小部件為系統中的每個實體都有一個子樹。 實體具有“突出顯示”顏色,可以由用戶指定並突出顯示與特定實體相關的事件。 實體根樹項目的背景色是實體的突出顯示顏色。 當發生與實體相關的事件時,我想使與實體上匹配的標識符的背景色與實體的突出顯示顏色相同。 這是我正在嘗試做的一個粗略的模型,偽HTML標簽顯示了顏色以及我想要的位置:

<bgcolor=blue>Entity A</bgcolor>
    Events
        Identifier1 and <bgcolor=blue>Identifier2</bgcolor>
        <bgcolor=blue>Identifier2</bgcolor> @ 10:45:22
        <bgcolor=blue>Identifier3</bgcolor> and Identifier4

據我了解,這不可能直接用QTreeWidgetItem實現。 我知道我可以為樹項目提供一個委托來處理自定義繪畫,但是我對Qt的QStyle部分並不精通。 我們的客戶將在XP和Win7上使用此應用程序,並且可能啟用或未啟用WindowsClassic樣式。 因此,處理所有QStyle可能會變得非常復雜。 是否有一個快捷方式,我可以讓QStyle用所需的背景色繪制所需的文本部分,而不必處理樹項目的所有潛在繪制需求?

基本上,您需要在Qt視圖中顯示HTML。 您可以通過創建自定義項目委托來實現。 看到這個問題

使用HTML設置顏色:

text1 <span style="color: #ff0000">red text</span> text2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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