课时67.扩展的表格控件(QTableWidget)
import sys
from PyQt5.QtWidgets import QWidget, QTableWidget, QHBoxLayout, QApplication, QTableWidgetItem, QAbstractItemView
class TableWidgetDemo(QWidget):
def __init__(self):
super(TableWidgetDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QTableWidget演示")
self.resize(430, 250)
layout = QHBoxLayout()
tableWidget = QTableWidget()
tableWidget.setRowCount(4)
tableWidget.setColumnCount(3)
layout.addWidget(tableWidget)
tableWidget.setHorizontalHeaderLabels(["姓名", "年龄", "籍贯"])
nameItem = QTableWidgetItem("普京")
tableWidget.setItem(0, 0, nameItem)
ageItem = QTableWidgetItem("70")
tableWidget.setItem(0, 1, ageItem)
nativePlaceItem = QTableWidgetItem("俄罗斯")
tableWidget.setItem(0, 2, nativePlaceItem)
# 禁止编辑
tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 整行选择
tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
# 调整列和行
tableWidget.resizeColumnsToContents()
tableWidget.resizeRowsToContents()
tableWidget.horizontalHeader().setVisible(False)
# tableWidget.verticalHeader().setVisible(False)
tableWidget.setVerticalHeaderLabels(["aa", "bb"])
# 隐藏表格线
tableWidget.setShowGrid(False)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = TableWidgetDemo()
win.show()
sys.exit(app.exec_())