我需要帮助为我的QTableView着色。 @rainer帮助我在初始化表格时添加颜色,但是现在,我已经有了一个带有数据的表格(但没有颜色//我的数据是在我的表格中打开了一个csv),并且我想创建一个按钮,当点击它时在某些行中对tableview进行着色,比如当有一行有-2(data)时,它将会是带有蓝色的颜色.. - 我有一个按钮和一个表格。该按钮将csv数据加载到我的tableview中。我想要一个新的按钮,使这个表的行变成彩色。 (但只有颜色有数据-2,例如行) 有些代码:pyqt - 用现有数据在QTableView中放置颜色
self.fileName = (_fromUtf8('tweets.csv'))
self.tableView = QTableView(self.tabSentimento)
self.tableView.setGeometry(QRect(550,10,510,700))
self.tableView.setObjectName(_fromUtf8("TabelaSentimento"))
self.tableView.setModel(self.model)
self.tableView.horizontalHeader().setStretchLastSection(True)
self.pushButtonLoad = QPushButton(self.tabSentimento)
self.pushButtonLoad.setGeometry(QRect(550,720,130,30))
self.pushButtonLoad.setObjectName(_fromUtf8("buttonLoadCSV"))
self.pushButtonLoad.setText(QApplication.translate("Form", "Process!", None, QApplication.UnicodeUTF8))
self.pushButtonLoad.setStyleSheet('color:red;background-color:rgb(255, 255, 153);border:1px solid purple;')
self.pushButtonLoad.clicked.connect(self.on_pushButtonLoad_clicked)
def loadCsv(self, fileName):
with open(fileName, "rb") as fileInput:
for row in csv.reader(fileInput):
items = [
QStandardItem(field)
for field in row
]
self.model.appendRow(items)
def on_pushButtonLoad_clicked(self):
print self.fileName
self.loadCsv(self.fileName)
'QStandardItem'有一个方法'的setBackground()'你可以用它来设置它的背景色:http://qt-project.org/doc/qt-4.8/qstandarditem.html#setBackground。所以,当你点击第二个按钮时,只需遍历所有行并相应地设置颜色。 – rainer 2013-03-27 20:01:23