【问题标题】:How to change Maya UI text font color?如何更改 Maya UI 文本字体颜色?
【发布时间】:2017-09-05 14:03:43
【问题描述】:

我想更改 UI 中文本的字体颜色,但似乎 the text command doc 中没有任何内容可以执行此操作。可以更改背景颜色,但不能更改字体本身。

我在互联网上搜索并找到了使用 PyQt (source) 更改按钮文本颜色的代码。

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',我想将其更改为自定义颜色值,有没有办法也做到这一点?

提前致谢!

【问题讨论】:

    标签: python pyqt pyqt4 maya maya-api


    【解决方案1】:

    使用 setStyleSheet 函数时,您正在使用类似于 CSS 的语法更改样式的属性,因此如果我们想使用特定颜色,我们可以将值作为 rgb 或 hex 代码传递,如下所示:

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

    你也可以应用到任何widget而不告诉你设置widget,如下图:

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

    对于文本,请使用以下内容:

    lb = sip.wrapinstance(long(omUI.MQtUtil.findControl(_the_label_n‌​ame_)), QtGui.QLabel)
    lb.setStyleSheet('color: #0101F0')
    

    【讨论】:

    • 谢谢你,这回答了我问题的第二部分 :) 你知道如何将它应用到文本控件而不是按钮控件吗?
    • @UKDP 你已经更新了我的答案,但我有点困惑:你把文本控制叫做什么,对于 QLabel; QLineEdit,QTextEdit?
    • 就是这样...我不知道 Maya 使用哪个小部件在 UI 中显示文本,我什至不知道除了测试之外是否有其他方法可以获取该信息。 ..
    • 请运行以下命令:lb = sip.wrapinstance(long(omUI.MQtUtil.findControl(_the_button_name_)), QtGui.QLabel) print(lb),将 _the_button_name_ 适当地更改为文本 ID,并告诉我你得到了什么。
    • 完美!最后是QLabel。谢谢!这是输出:<PyQt4.QtGui.QLabel object at 0x7f38c2d8c8a0>
    猜你喜欢
    • 2016-10-12
    • 2020-04-04
    • 1970-01-01
    • 2012-04-08
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    相关资源
    最近更新 更多