QListViewでアイテム境界線を設定しようとしています。
マウスをアイテムの上に置くと線が表示され、マウスをアイテムから離すと線が通常に戻ります。それが私が欲しいものです。
それで、私は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)
コードは上にあります。
アイテムを選択すると、めちゃくちゃになりました。
選択したアイテムには境界があり、消えません。
どうすれば修正できますか?