【发布时间】:2019-09-13 21:41:25
【问题描述】:
我正在尝试遵循创建位于此处的表的示例: https://pythonbasics.org/pyqt-table/
完全承认,我是 python 新手,这对我来说有点陌生。
我已编辑我的字典以匹配我的数据,但是当我的计算机上填充该表时,这些值是空白的。
我不知道我哪里出错了。
任何帮助将不胜感激。
以下代码片段:
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
x = []
labels = []
for i in range(sheet.nrows-3):
print(sheet.row_values(i+3))
x.append(sheet.row_values(i+3))
labels.append(str(x[i][0])+" "+str(x[i][1]))
z={}
keypieces = range(len(x))
#Making the Z dictionary
for i in keypieces:
z[labels[i]] = x[i][4:7]
class TableView(QTableWidget):
def __init__(self, z, *args):
QTableWidget.__init__(self, *args)
self.z = z
self.setz()
self.resizeColumnsToContents()
self.resizeRowsToContents()
def setz(self):
horHeaders = []
for n, key in enumerate(sorted(self.z.keys())):
horHeaders.append(key)
for m, item in enumerate(self.z[key]):
newitem = QTableWidgetItem(item)
self.setItem(m, n, newitem)
self.setHorizontalHeaderLabels(horHeaders)
def main(args):
app = QApplication(args)
table = TableView(z, 3, 6)
table.show()
sys.exit(app.exec_())
if __name__=="__main__":
main(sys.argv)
我的 z 字典如下:
{'LEVEL 6 S1': [24.4999999999989, 5.00000000000394, 1.5],
'LEVEL 5 S1': [25.4999999999992, 4.99999999999996, 1.5],
'LEVEL 4 S1': [25.4999999999992, 4.99999999999996, 1.5],
'LEVEL 3 S1': [25.4999999999992, 3.41666666666662, 1.5],
'LEVEL 2 S1': [25.4999999999992, 3.91666666666663, 3.0],
'LEVEL 1 S1': [25.4999999999992, 4.99999999999996, 1.33333333333333]}
我的表格看起来像这样(红色是我希望表格看起来的一个例子):
【问题讨论】:
标签: python pyqt pyqt5 qtablewidget