1
我一直在网上阅读,还没有找到解决方案。我想要做的是改变每次使用图标的颜色,或者改变它的不透明度。Pyside改变QIcon中SVG的颜色或不透明度
所以,如果有人可以帮助,我如何将SVG图标'Vimeo'的颜色更改为红色或蓝色而不是创建多个图像?
链接到SVG:https://www.dropbox.com/s/vshvosnuu5998wy/vimeo.svg?dl=0
# Modules
# ------------------------------------------------------------------------------
import sys
from PySide import QtGui, QtCore, QtSvg
# widget
# ------------------------------------------------------------------------------
class Example(QtGui.QWidget):
def __init__(self,):
super(Example, self).__init__()
self.initUI()
def initUI(self):
# formatting
self.setGeometry(300, 300, 600, 300)
self.setWindowTitle("Example")
# widgets
self.itemList = QtGui.QTreeWidget()
self.itemList.setItemsExpandable(True)
self.itemList.setAnimated(True)
self.itemList.setItemsExpandable(True)
self.itemList.setColumnCount(2)
self.itemList.setHeaderLabels(['', ''])
# load some icons
self._ico_01 = QtGui.QIcon('vimeo.svg')
# add items
item0 = QtGui.QTreeWidgetItem(self.itemList, ['testing', ''])
item0.setIcon(1, self._ico_01) # 1 - we set image for second colomn
item1 = QtGui.QTreeWidgetItem(self.itemList, ['testing', ''])
item1.setIcon(1, self._ico_01) # 1 - we set image for second colomn
# layout
self.mainLayout = QtGui.QGridLayout(self)
self.mainLayout.addWidget(self.itemList)
self.show()
# Main
# ------------------------------------------------------------------------------
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
是否有可能使用'造型'覆盖? – JokerMartini
恐怕这是不可能的。我想在几个月前解决这个问题,但没有找到解决方案。 – titusjan