0
自2008年從諾Dielmann PyQt的郵件列表上的以下問題一直沒有得到答覆:如何在QStyledItemDelegate中繪製樣式化的焦點矩形?
[..] 我有一個QStyledItemDelegate子類實現paint()來得出一些QTableView中單元格的內容。如果其中一個單元格獲得了焦點,如何使它繪製焦點矩形?我試過這個:
class MyDelegate(QStyledItemDelegate):
...
def paint(self, painter, option, index):
...
painter.save()
if option.state & QStyle.State_HasFocus:
self.parent().style().drawPrimitive(QStyle.PE_FrameFocusRect, option, painter)
...
painter.restore()
但是這根本就沒有做什麼。沒有錯誤,沒有焦點框架。我只想讓QStyle系統以某種方式繪製通常的對焦框,如果我的自定義繪製的單元格中有一個具有焦點。 QStyle文檔告訴我創建一個QStyleOptionFocusRect並使用initFrom()。但initFrom()需要一個QWidget,在這種情況下我沒有。
我只是不明白。
什麼是平常的方式來獲得焦點幀通過自定義代表塗QTableView中的細胞?[..]