pyqt5-tablewidget 尾部添加行列


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 的數據內容動態加載數據的一個效果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM