Je voudrais colorer une partie du texte dans QListWidgetpartie colorante PyQt du texte dans QListWidget
J'ai essayé d'inclure du texte de la balise font int, mais cela ne fonctionne pas.
Je voudrais colorer une partie du texte dans QListWidgetpartie colorante PyQt du texte dans QListWidget
J'ai essayé d'inclure du texte de la balise font int, mais cela ne fonctionne pas.
Essayez-vous de colorer une partie d'un texte QListWidgetItem ou la totalité du texte d'un seul objet QListWidgetItem?
Si vous souhaitez colorer l'ensemble d'un seul élément QListWidgetItem, utilisez item.setTextColor(). Cet exemple colore le texte du deuxième point rouge:
from PyQt4 import QtGui, QtCore
import sys
class Main(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self,parent)
self.initUI()
def initUI(self):
mylist = QtGui.QListWidget(self)
mylist.setMinimumSize(QtCore.QSize(800, 800))
for i in range(5):
item = mylist.addItem('Item %s' % (i + 1))
items = mylist.findItems("Item 2",QtCore.Qt.MatchExactly)
if len(items) > 0:
for item in items:
item.setTextColor (QtGui.QColor("red"))
def main():
app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
Ce qui donne ceci:
Ou tout simplement partie du texte dans un QListWidgetItem utiliser QLabel avec addWidget() et HTML:
from PyQt4 import QtGui, QtCore
import sys
class Main(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self,parent)
self.initUI()
def initUI(self):
mylist = QtGui.QListWidget(self)
mylist.setMinimumSize(QtCore.QSize(800, 800))
for i in range(5):
widgitItem = QtGui.QListWidgetItem()
widget = QtGui.QWidget()
widgetText = QtGui.QLabel('test<span style="color:#ff0000;">test %s</span>' % (i + 1))
widgetLayout = QtGui.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
mylist.addItem(widgitItem)
widgitItem.setSizeHint(widget.sizeHint())
mylist.setItemWidget(widgitItem, widget)
def main():
app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
ce qui donne cette
si je veux changer derction de droite à gauche comment! –
Inverser la direction du texte? de sorte qu'il se lit comme dans mon exemple "1 Tsettset"? –
Avez-vous essayé la réponse ou les suggestions dans les commentaires pour http://stackoverflow.com/questions/26378900/set-text-direction-for-qlabel? –