1.尾部根據【字典】數據,尾部添加新行與新列對應數據
try: for row_name in glo.dict.keys(): row_cnt = self.mytableWidget.rowCount() # 返回當前行數(尾部) self.mytableWidget.insertRow(row_cnt) # 尾部插入一行新行表格 column_cnt = self.mytableWidget.columnCount() # 返回當前列數 for column in range(column_cnt): item1 = QTableWidgetItem(str(glo.dict[row_name][column])) self.mytableWidget.setItem(row_cnt, column, item1) #最后,將(行,列,內容)配置 self.mytableWidget.resizeColumnsToContents() # 設置列寬高按照內容自適應 print("Slot Table Widget test setup successfully.") except: print("Error for appending table list. ")
2.代碼細解
圖2,為designer設計的 tablewidget 界面,代碼未執行前效果,事先做了一個表頭。
圖1,第二行,對字典 dic 的鍵值數量范圍,進行for循環,也就是有多少行數據,就尾部插入多少新行。
圖1,第二行,獲取當前行數計數(索引),如圖二,事先設計了一個表頭,此時獲取到 row_cnt = 0,指的是如果尾部插入一整行,將從第0行尾部插入。
圖1,第二個for循環,即對列進行循環添加,而dict結構如下圖,這樣可以將自己所需的數據存入dict字典即可,一個簡單的數據處理。
1 dict = { 2 "_TEST_LED_CONTROLS" : 3 ["Test1", "1. Test 3 led (ready,error,test). ", -1, "false" ],
...
}
item1 = QTableWidgetItem(str(glo.dict[row_name][column])) 將提取到當前行,當前列的數據配置
self.mytableWidget.setItem(row_cnt, column, item1) #最后,將(行,列,內容)配置
其實,就是對應行的第 0,1,2,3列添加對應的dict字典中的四項數據。
3.最后效果
此處我用到了列寬自適應,所以顯示列寬會這么長,截圖截不到result了,只能分兩行截圖。
最后效果如圖,算是根據dict 的數據內容動態加載數據的一個效果。