私はpythonの初心者で、主にpyqtを使用しています。問題は単純ですQTableView
。いくつかの行の色を「単純に」変更したいのです。あちこち読んで、最も簡単な解決策は、モデルのデータメソッドを次のようにオーバーライドすることであることがわかりました。
class MyModel(QtSql.QSqlTableModel):
def data(self,idx,role):
testindex=self.index(idx.row(),idx.column(),idx.parent())
if(role==QtCore.Qt.BackgroundRole):
return QtGui.QColor(255,0,0)
elif role == QtCore.Qt.DisplayRole:
return QtSql.QSqlTableModel().data(testindex)
このモデルの再実装を使用すると、行の色が変わりますが、セルの値は消え、return ステートメントQtSql.QSqlTableModel().data(testindex)
は常にNone
. 私は解決策を見つけることに夢中になっています。私たちを手伝ってくれますか?