Как изменить цвет шрифта текста Maya UI?

Я хочу изменить цвет шрифта текста в пользовательском интерфейсе, но кажется, что в текстовая команда doc для этого. Можно изменить цвет фона, но ничего о самом шрифте.

Я искал в Интернете и нашел этот код для изменения цвета текста кнопки с помощью PyQt (источник).

import maya.OpenMayaUI as omUI
from PyQt4 import QtGui
import sip
bt = sip.wrapinstance(long(omUI.MQtUtil.findControl(_the_button_name_)), QtGui.QPushButton)
bt.setStyleSheet('QPushButton {color: yellow}')

Итак, у меня есть два вопроса:

Во-первых, что я должен использовать вместо QPushButton для редактирования цвета текстового элемента управления, и во-вторых, цвет кнопки здесь изменен на 'yellow', и я хотел бы изменить его на пользовательское значение цвета, есть ли способ также сделать это?

Заранее спасибо!


person UKDP    schedule 05.09.2017    source источник


Ответы (1)


при использовании функции setStyleSheet вы изменяете свойства стиля с помощью синтаксиса, похожего на CSS, поэтому, если мы хотим использовать определенный цвет, мы можем передать значения в виде кода rgb или hex, как показано ниже:

pb.setStyleSheet('QPushButton {color: rgb(1, 1, 240)}')
pb.setStyleSheet('QPushButton {color: #0101F0}')

Вы также можете применить к любому виджету, не говоря вам установить виджет, как показано ниже:

some_widget.setStyleSheet('color: #0101F0')

Для текста используйте следующее:

lb = sip.wrapinstance(long(omUI.MQtUtil.findControl(_the_label_n‌​ame_)), QtGui.QLabel)
lb.setStyleSheet('color: #0101F0')
person eyllanesc    schedule 05.09.2017
comment
Спасибо, это ответ на вторую часть моего вопроса :) Вы знаете, как применить это к текстовому элементу управления вместо элемента управления кнопки? - person UKDP; 05.09.2017
comment
@UKDP Вы обновили мой ответ, но я немного сбит с толку: что вы называете текстовым контролем для QLabel; QLineEdit, QTextEdit? - person eyllanesc; 05.09.2017
comment
В том-то и дело... Я не знаю, какой виджет Maya использует для отображения текста в пользовательском интерфейсе, и я даже не знаю, есть ли способ получить эту информацию, кроме тестирования... - person UKDP; 05.09.2017
comment
Запустите следующее, пожалуйста: lb = sip.wrapinstance(long(omUI.MQtUtil.findControl(_the_button_name_)), QtGui.QLabel) print(lb), измените _the_button_name_ соответствующим образом на текстовый идентификатор и скажите мне, что вы получите, пожалуйста. - person eyllanesc; 05.09.2017
comment
Идеальный! Это QLabel в конце. Благодарю вас! Вот результат: <PyQt4.QtGui.QLabel object at 0x7f38c2d8c8a0> - person UKDP; 05.09.2017
comment
Конечно, не могли бы вы отредактировать его с помощью правильного виджета? Для других людей, которые будут искать то же самое. Спасибо еще раз - person UKDP; 05.09.2017