2016-03-08 48 views
1

我開發了一個使用qscintilla作爲文本編輯器的應用程序。我還實現了自定義詞法分析器來突出顯示特定於語言的關鍵字目前爲止,突出顯示的關鍵字的樣式在我的應用程序中被硬編碼,並且在Windows/Linux(Ubuntu)/ Mac的默認主題中看起來相當不錯。如何識別應用程序在黑暗主題中運行?

當用戶選擇一個黑暗的主題(在Linux上)時出現問題。根據QScintilla版本,編輯器的某些部分確實會反映當前的主題顏色,而其他部分則不會。此外,我的自定義樣式在深灰色背景上呈現深藍色字母。

我正在尋找一些Qt類,這將允許我訪問當前的系統主題。我不想爲我的應用程序小部件定義樣式。 我想知道什麼是系統默認的非比例字體,它是什麼尺寸,顏色,...如果我知道使用黑暗方案,我會選擇補充顏色的關鍵字高亮。

我檢查了QStyle,QPlatformTheme和其他qt類的文檔,在我看來,它們更多地用於定義新樣式,然後用於描述當前樣式。

回答

3

對於系統顏色,可以使用QPalette類的group/role

對於系統字體,您可以使用例如QFont來創建系統字體。 「Serif」,「Sans Serif」,「Monospace」等,用適當的style hint來發現默認值。

相關問題