QTableWidget单元格使用教程
QTableWidget单元格使用教程
QTableWidget单元格使用教程
################################ # PyQt5中文网 - PyQt5全套视频教程 # # https://www.PyQt5.cn/ # # 主讲: 村长 # ################################ from PyQt5.Qt import * import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("高级控件-QTableWidget单元格添加控件与单元格设置 - PyQt5中文网") self.resize(600, 500) self.func_list() def func_list(self): self.func() def func(self): # 创建QTableWidget tablewidget = QTableWidget() tablewidget.setRowCount(4) tablewidget.setColumnCount(5) # 数据源 tablewidget.setHorizontalHeaderLabels(['序号', '姓名', '成绩']) # 先放一个数据 item1 = QTableWidgetItem('张三') tablewidget.setItem(0, 0, item1) item2 = QTableWidgetItem('李四') tablewidget.setItem(0, 1, item2) item3 = QTableWidgetItem('赵武') tablewidget.setItem(1, 0, item3) item4 = QTableWidgetItem('王六') tablewidget.setItem(1, 1, item4) # 放一个控件在单元格中 box1 = QComboBox() box1.addItem('男') box1.addItem('女') tablewidget.setCellWidget(0, 2, box1) # 搜索数据 text = '张三' from PyQt5 import QtCore items = tablewidget.findItems(text, QtCore.Qt.MatchExactly) if len(items) > 0: item = items[0] item.setBackground(QBrush(QColor('green'))) # 设置颜色 # item.setForeground(QBrush(QColor('green'))) # 设置颜色 item.setFont(QFont('站酷酷黑', 20, QFont.Black)) item.setTextAlignment(Qt.AlignRight | Qt.AlignBottom) # 文本对齐方式 # tablewidget.setSpan(0, 0, 2, 1) # 第一行,第一列,合并2行,合并1列 tablewidget.setSpan(1, 0, 1, 2) # 设置单元格尺寸 # tablewidget.setRowHeight(1, 60) # 第二行高度60 # tablewidget.setColumnWidth(0, 200) # 第1行宽度200 # 图文混排和图片尺寸 item5 = QTableWidgetItem(QIcon('123.jpg'), 'PyQt5') tablewidget.setItem(0, 3, item5) tablewidget.setRowHeight(0, 200) tablewidget.setColumnWidth(4, 200) tablewidget.setIconSize(QSize(200, 200)) # 设置图片尺寸 item6 = QTableWidgetItem() item6.setIcon(QIcon('掩码字符.png')) tablewidget.setItem(0, 4, item6) layout = QHBoxLayout() layout.addWidget(tablewidget) self.setLayout(layout) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())