百度网站搜索关键字,河北邢台出大事啦,怎么做网站卖车,免费设计室内装修app软件QTableWidget 是 PyQt6 中的一个表格控件#xff0c;用于显示和编辑二维表格数据。它继承自 QTableView#xff0c;提供了更简单的方式来处理表格数据#xff0c;适合用于需要展示结构化数据的场景。 1. 常用方法
1.1 构造函数 QTableWidget(parent: QWidget None)#x…QTableWidget 是 PyQt6 中的一个表格控件用于显示和编辑二维表格数据。它继承自 QTableView提供了更简单的方式来处理表格数据适合用于需要展示结构化数据的场景。 1. 常用方法
1.1 构造函数 QTableWidget(parent: QWidget None)创建一个空的表格控件。 QTableWidget(rows: int, columns: int, parent: QWidget None)创建一个指定行数和列数的表格控件。
1.2 设置行列数 setRowCount(rows: int)设置表格的行数。 setColumnCount(columns: int)设置表格的列数。 rowCount() - int获取表格的行数。 columnCount() - int获取表格的列数。
1.3 设置表头 setHorizontalHeaderLabels(labels: List[str])设置水平表头的标签。 setVerticalHeaderLabels(labels: List[str])设置垂直表头的标签。 horizontalHeader() - QHeaderView获取水平表头对象。 verticalHeader() - QHeaderView获取垂直表头对象。
1.4 设置单元格内容 setItem(row: int, column: int, item: QTableWidgetItem)设置指定单元格的内容。 item(row: int, column: int) - QTableWidgetItem获取指定单元格的内容。 takeItem(row: int, column: int) - QTableWidgetItem移除指定单元格的内容并返回。
1.5 设置单元格属性 setCellWidget(row: int, column: int, widget: QWidget)在指定单元格中放置一个控件如按钮、下拉框等。 cellWidget(row: int, column: int) - QWidget获取指定单元格中的控件。 setSpan(row: int, column: int, rowSpan: int, columnSpan: int)合并单元格。
1.6 选择模式 setSelectionMode(mode: QAbstractItemView.SelectionMode)设置选择模式如单选、多选等。 setSelectionBehavior(behavior: QAbstractItemView.SelectionBehavior)设置选择行为如选择行、选择列等。
1.7 信号 cellChanged(row: int, column: int)当单元格内容发生变化时触发。 cellClicked(row: int, column: int)当单元格被点击时触发。 cellDoubleClicked(row: int, column: int)当单元格被双击时触发。 2. 例子
import os
import sys
import webbrowserimport qt_material
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *class Window(QWidget):def __init__(self):super(Window, self).__init__()self.resize(400, 300)self.init_widget()self.init_signal()self.init_getdata()self.init_layout()def init_widget(self):# tablewidgetself.table QTableWidget()self.table.setColumnCount(2)self.table.setHorizontalHeaderLabels([网站, Url])self.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch)self.table.setAlternatingRowColors(True)self.table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) # 无法编辑def init_getdata(self):row_count self.table.rowCount()self.table.setRowCount(row_count 1)self.table.setItem(0, 0, QTableWidgetItem(百度))self.table.setItem(0, 1, QTableWidgetItem(https://www.baidu.com/))row_count self.table.rowCount()self.table.setRowCount(row_count 1)self.table.setItem(1, 0, QTableWidgetItem(腾讯视频))self.table.setItem(1, 1, QTableWidgetItem(https://v.qq.com/))def init_signal(self):self.table.cellDoubleClicked.connect(self.open_url) # 双击打开网页def init_layout(self):v_layout QVBoxLayout()v_layout.addWidget(self.table)self.setLayout(v_layout)def open_url(self, row, column):print(f{row} {column})if int(column) 1:url self.table.item(row, column).text()webbrowser.open(url)if __name__ __main__:os.environ[QT_IM_MODULE] ibus # mac系统解决输入法不兼容app QApplication(sys.argv)qt_material.apply_stylesheet(app, themelight_pink.xml)window Window()window.show()sys.exit(app.exec())3. 总结
优点 简单易用提供了直接操作表格数据的接口。 灵活性高支持动态加载数据、编辑单元格内容和嵌入控件。 功能丰富支持表头设置、单元格合并、选择模式等功能。
适用场景 数据展示如成绩表、库存表。 数据编辑如员工信息管理、订单管理。 动态数据加载如数据库查询结果、CSV 文件数据。