# -*- coding:utf-8 -*-
"""
@Time:2022/3/28 22:12
@Author:小柠檬
@File:table_widget.py
"""
from PyQt5 import uic, QtCore
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QTableWidgetItem, QAbstractItemView
ICO_PATH = r'F:\pyDemo\other\07-gui_Qt5\02-控件\00-resource\ico\xnm.ico'
class TableWidget:
def __init__(self):
# 加载UI界面
self.ui = uic.loadUi("table_widget.ui")
# 1.设置行数
self.ui.tableWidget.setRowCount(3)
# 2.设置列数
self.ui.tableWidget.setColumnCount(5)
# 3.设置列表头标签
self.ui.tableWidget.setHorizontalHeaderLabels(['姓名', '性别', '体重(kg)', '我是列4', '我是列5'])
# 4.设置行表头标签
self.ui.tableWidget.setVerticalHeaderLabels(['我是设置的行1', '我是设置的行2', '我是设置的行3'])
# 5.添加数据
self.ui.tableWidget.setItem(0, 1, QTableWidgetItem('张三'))
# 6.获取表头
self.ui.tableWidget.horizontalHeader().setVisible(True) # False隐藏表头
# 7.获取行数
row_count = self.ui.tableWidget.rowCount()
print(row_count)
# 8.获取列数
column_count = self.ui.tableWidget.columnCount()
print(column_count)
# 9.设置表格是否可以编辑
self.ui.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 禁止编辑
# 10.整行选中
self.ui.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
# 11.是否显示网格
self.ui.tableWidget.setShowGrid(True) # True为显示
# 12.设置单元格列宽度
self.ui.tableWidget.setColumnWidth(0, 150)
# 13.设置单元格行高度
self.ui.tableWidget.setRowHeight(0, 150)
# 14.获取表格内容
content = self.ui.tableWidget.item(0, 1).text()
print(content)
# 15.最后一列自动填满
self.ui.tableWidget.horizontalHeader().setStretchLastSection(True)
# 16.获取当前选中行
current_row = self.ui.tableWidget.currentRow()
print(current_row)
# 17.清空表格所有内容
self.ui.tableWidget.clearContents()
self.ui.tableWidget.setRowCount(0)
# 18.插入行
self.ui.tableWidget.insertRow(0)
# 19.删除某一行
self.ui.tableWidget.removeRow(0)
def main():
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) # 和designer设计的窗口比例一致
app = QApplication([])
app.setWindowIcon(QIcon(ICO_PATH))
table_widget = TableWidget()
table_widget.ui.show()
app.exec_()
if __name__ == '__main__':
main()
pyQt5-tableWidget常用方法
最新推荐文章于 2025-04-27 14:13:31 发布