解决“添加”和“删除”品类时表格信息显示不全的问题:
在刷新表格的时候一头一尾分别关闭排序和开启排序
table.setSortingEnabled(False)
table.setSortingEnabled(True)
def fill_table(self, table, items):
table.setSortingEnabled(False)
table.clearContents()
table.setRowCount(len(items))
print(self.dishname_vs_amountNprice)
for row in range(len(items)):
name = items[row][0]
amount, price = self.get_amount_and_price(name)
#print(name,amount,price)
item = QtWidgets.QTableWidgetItem(name)
item.setFlags(QtCore.Qt.ItemIsEnabled)
table.setItem(row, 0, item)
item1 = QtWidgets.QTableWidgetItem(str(amount))
item1.setFlags(QtCore.Qt.ItemIsEnabled)
table.setItem(row, 1, item1)
table.setItem(row, 2, QtWidgets.QTableWidgetItem(str(price)))
table.setSortingEnabled(True)
@staticmethod
def append_table(table, row_data):
table.setSortingEnabled(False)
table.setRowCount(table.rowCount() + 1)
row = table.rowCount() - 1
item = QtWidgets.QTableWidgetItem(row_data[0])
item.setFlags(QtCore.Qt.ItemIsEnabled)
table.setItem(row, 0, item)
item1 = QtWidgets.QTableWidgetItem(str(row_data[1]))
item1.setFlags(QtCore.Qt.ItemIsEnabled)
table.setItem(row, 1, item1)
table.setItem(row, 2, QtWidgets.QTableWidgetItem(str(row_data[2])))
table.setSortingEnabled(True)