目录
- 一、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)