如何在PyQt中设置qlabel文本的不透明度?

时间:2017-04-01 15:59:44

标签: html css pyqt qlabel

我有一个标签,我想从text变量设置html \ css格式的文本。

label = QtGui.QLabel()   
text = '''<font face="tahoma" color="#45688E">THIS TEXT</font>'''
label.setText(text)

我需要将这个这个词用我的颜色(#45688E)和单词 TEXT 着色为透明。

我的想法是,我希望标签只在屏幕上显示一个单词,同时我可以以编程方式获得两个单词。

怎么做?

谢谢。

更新1:photo 代码:

from PyQt4 import QtGui, QtCore
import sys

app = QtGui.QApplication(sys.argv)

window = QtGui.QWidget()
window.resize(300, 400)
window.setWindowTitle('TITLE1')

window_layout = QtGui.QVBoxLayout()
window.setLayout(window_layout)

label = QtGui.QLabel()   
text = '''<font face="tahoma"><span style="color:#45688E">THIS</span><span style="opacity:0"> TEXTANOTHER_WORD</span></font>'''
label.setText(text)

window_layout.addWidget(label)

window.show()
sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:1)

将第一个单词换成span标签,并用颜色样式。在另一个span标记中添加所有其他单词,并将span标记的不透明度设置为0

'''<font face="tahoma"><span style="color:#45688E">THIS</span><span style="opacity:0">TEXTANOTHER_WORD</span></font>'''

下面的浏览器代码段

<font face="tahoma"><span style="color:#45688E">THIS</span><span style="opacity:0">TEXTANOTHER_WORD</span></font>

编辑:

解决方案2

 '''<font face="tahoma"><span style="color:#45688E">THIS</span><span style="display:none">TEXTANOTHER_WORD</span></font>'''

PyQT的一个奇怪的解决方案

将颜色设置为透明有些隐藏了文本

style="color:transparent"

实施例

text = '''<font face="tahoma" color="red" style="color:green;"><span>THIS</span><span  style="color:transparent">TEXT</span></font>'''

下面的图片

see picture here