0
的SetData在QTableWidgetItem
它崩潰了,當我嘗試使用QtCore.Qt.UserRole
和setData
存儲data
:item.setData(QtCore.Qt.UserRole, data)
如何使用的UserRole在PyQt5
有趣的是,一個非常類似的方法PyQt4中工作(其實我端起先前寫入PyQt4的代碼到PyQt5)。
from PyQt5 import QtCore, QtGui, QtWidgets
table = QtWidgets.QTableWidget()
items = ['Item_01','Item_02','Item_03']
column_names = ['Column_01','Column_02','Column_03']
for row, header in enumerate(items):
for col, column_name in enumerate(column_names):
item = QtWidgets.QTableWidgetItem(column_name)
table.setItem(row, col, item)
item.setData(QtCore.Qt.UserRole, column_name)
如果爲UserRole的值用「*只是隨機從頭部*生成的」'''QtCore。 Qt.UserRole + 10'''? –
也因爲「Qt :: UserRole它是0x0100」,如果用整數「8」替換QtCore.Qt.UserRole,像'''item.setData(8,column_name)''' –
我不能再現這個 - 除非代碼是從字面上看的,而且你沒有創建一個'QApplication'。 – ekhumoro