TableWidget是TableViewer的子函數, 整體的使用方式和TableViewer一致,只是多了一些方法
""" 擴展的表格控件(QTableWidget) QTableView """ import sys from PyQt5.QtWidgets import * class TableWidgetDemo(QMainWindow): def __init__(self): super(TableWidgetDemo, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("QTableWidget演示") self.resize(430, 230) layout = QHBoxLayout() tablewidget = QTableWidget() tablewidget.setRowCount(4) tablewidget.setColumnCount(3) layout.addWidget(tablewidget) tablewidget.setHorizontalHeaderLabels(['姓名', '年齡', '籍貫']) nameItem = QTableWidgetItem("小明") #填充內容 tablewidget.setItem(0, 0, nameItem) ageItem = QTableWidgetItem("24") tablewidget.setItem(0, 1, ageItem) jgItem = QTableWidgetItem("24") tablewidget.setItem(0, 2, jgItem) #禁止編輯 tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers) #整行選擇 tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows) #調整所有列和調整所有行 tablewidget.resizeColumnsToContents() tablewidget.resizeRowsToContents() #設置水平的表頭不可見 tablewidget.horizontalHeader().setVisible(False) #tablewidget.verticalHeader().setVisible(False) #設置豎的表頭 tablewidget.setVerticalHeaderLabels(["a", "b"]) #隱藏表格線 tablewidget.setShowGrid(False) self.setCentralWidget(tablewidget) self.setLayout(layout) if __name__ == "__main__": app = QApplication(sys.argv) main = TableWidgetDemo() main.show() sys.exit(app.exec_())