在QListWidget中可以高亮多个行吗?(Python/PyQt)
我在想,能不能在一个 QListWidget
中同时 高亮 多行(不是用 setSelectedRow
或者选择多行)……如果可以的话,我该怎么做呢?
1 个回答
1
在listWidget中,有很多方法可以让列表中的项目变得更显眼。你可以设置背景颜色、前景颜色,或者完全改变项目的字体来突出显示它们。
设置前景颜色:
for item in listWidget.selectedItems():
item.setForeground(QBrush(Qt.green, Qt.SolidPattern))
设置背景颜色:
for item in listWidget.selectedItems():
item.setBackground(QBrush(Qt.yellow, Qt.SolidPattern))
或者改变项目的字体:
font = QFont('', -1, QFont.Bold, True)
for item in listWidget.selectedItems():
item.setFont(font)
空字符串代表默认的字体,-1代表默认的字体大小,最后通过把最后一个参数设置为True来让字体变得粗体和斜体。如果你不想要粗体,可以用-1代替QFont.Bold
。