У меня есть некоторые текстовые поля kdialog в моем скрипте, и мне нужно изменить цвета его текстов на основе файла конфигурации. Является ли это возможным?

0
VihL 25 Апр 2017 в 01:21

2 ответа

Лучший ответ

Вы можете установить основной и фоновый цвета для окна Kdialog (параметры --fg и --bg), но он не имеет возможности раскрасить отдельные слова в окне.

Если вы прочитаете исходный код, вы заметите, что Kdialog просто тонкий слой поверх набора виджетов KDE с параметрами, соответствующими подмножеству диалоговых окон в 2005 году .

1
Thomas Dickey 24 Апр 2017 в 22:50

Да, это возможно, просто используйте переменные в параметрах KDialog для изменения цвета.

KDialogs поддерживают стилизацию несколькими способами - в вашем случае самый простой способ изменить цвет текста в KDialog - это использовать встроенные стили HTML (KDialog поддерживает базовые стили Qt, которые являются ограниченным подмножеством CSS).

kdialog --title "KDialog" --caption "supports styles" --radiolist "<p style="padding:30"><font style="background:white"><br />&nbsp;Choose a type of <font style="color:red">KDialog</font> from the list&nbsp;</font></p>" 1 'Get user input' Off 2 'Display information' Off 3 'Get user choice' Off --geometry 450x230+200+200)

KDialog using inline HTML styles

Стиль KDialogs плохо документирован (я надеюсь изменить это - в конце концов ... ., но очень настраиваемый.

KDialog using system Qt styles, external Qt stylesheet, and inline styling

kdialog  --icon "preferences-system" --stylesheet "radiolist.qss" --title "KDialog" --caption "supports styles" --radiolist "<p style="padding:30"><font style="background:white"><br />&nbsp;Choose a type of <font style="color:red">KDialog</font> from the list&nbsp;</font></p>" 1 'Get user input' Off 2 'Display information' Off 3 'Get user choice' Off --geometry 450x230+200+200
1
SFITCS 23 Июн 2017 в 10:23