0
我嘗試在QListView中設置項邊界線。
當鼠標移過物品時,線條出現,鼠標離開物品時,線條恢復正常。這就是我想要的。
所以,我使用QStyledItemDelegate,似乎這樣做,這是不正確的。pyqt:使用QStyledItemDelegate設置項邊界線
class PixmapItemDelegate(QtGui.QStyledItemDelegate):
def paint(self, painter, option, index):
painter.save()
if (option.state & QtGui.QStyle.State_MouseOver):
pen = QtGui.QPen(QtCore.Qt.yellow)
else:
pen = QtGui.QPen(QtCore.Qt.transparent)
pen.setWidth(2)
painter.setPen(pen)
painter.setBrush(QtGui.QBrush(QtCore.Qt.transparent))
painter.drawRect(option.rect)
painter.restore()
super(PixmapItemDelegate, self).paint(painter, option, index)
代碼如上。
如果我選擇該項目,它就搞砸了。
所選項目具有邊界並且不會消失。
我該如何解決?
謝謝你的好意 –