【PyQt5】Qt Designer系列-----tableWidget部件设置使用教程

时间:2024-10-25 15:04:49

目录

    • 一、tableWidget设置
    • 二、QSS设置
    • 三、代码详解
      • 1、插入内容
      • 2、风格设置
      • 3、右键菜单

一、tableWidget设置

注意不要选错部件tableView了!!!

在这里插入图片描述
(1)选中tableWidget部件右键“编辑项目”打开
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)设置行、列的间隔
在这里插入图片描述
(3)去掉行或列索引
在这里插入图片描述
(4)设置列左对齐或居中(默认居中)
在这里插入图片描述
(5)设置标题之间的间隔
在这里插入图片描述

二、QSS设置

选中tableWidget部件右键“改变样式表”

在这里插入图片描述
在这里插入图片描述

(1)设置选中显示背景颜色

QTableWidget::item::selected
{
    background:red;
}

在这里插入图片描述
(2)设置拉条样式

QTableWidget::item::selected
{
    border-bottom:1px solid #EEF1F7;
}

在这里插入图片描述

以上基本框架设置完成了,就可以在 python代码添加内容了。

三、代码详解

1、插入内容

self.tableWidget_2.clearContents()   # 清理列表内容
self.tableWidget_2.setRowCount(0)    # 设置行的计数
for i in range(6):
    self.tableWidget_2.insertRow(i)  # 尾部插入一行
    self.tableWidget_2.setItem(i, 0, QTableWidgetItem(str(Id)))  # 设置该行元素
    self.tableWidget_2.setItem(i, 1, QTableWidgetItem(str(Name)))
    self.tableWidget_2.setItem(i, 2, QTableWidgetItem(str(Sex)))
    self.tableWidget_2.setItem(i, 4, QTableWidgetItem(str(Age)))
    self.tableWidget_2.setItem(i, 3, QTableWidgetItem(str(Class)))
self.tableWidget_2.update()   # 更新显示

2、风格设置

self.tableWidget_2.setColumnWidth(0, 160)  # 设置第0列的宽度

self.tableWidget_2.item(1, 6).setForeground(QBrush(QColor(0, 120, 255)))  #设置 x=1,y=6 的字体颜色
self.tableWidget_2.item(1, 6).setTextAlignment(QtCore.Qt.AlignCenter)  #设置 x=1,y=6 的字体居中

3、右键菜单

# 这两行放在初始函数
self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)  # 允许右键产生子菜单
self.tableWidget.customContextMenuRequested.connect(self.tableWidget_menu)  # 右键菜单

def tableWidget_menu(self, pos):
    menu = QMenu()  # 实例化菜单
    item = menu.addAction(u"刷新")
    action = menu.exec_(self.tableWidget.mapToGlobal(pos))
    if action == item:
        row = self.tableWidget.selectedItems()[0].row()  # 获取右键选中的行
        name = self.tableWidget.item(row, 3).text()  # 获取右键选中该行的第 3 个位置内容
        print(name)