PyQT5之QTableWidget
1.PyQT5图像2.PyQT5水平垂直布局3.PyQT5之图片左右翻页4.PyQT5之QPushButton和布局5.PyQT5之label6.PyQT5之选择图片7.PyQT5之自定义信号8.PyQT5之窗口9.PyQT5之菜单栏和工具栏10.PyQT5之QComboBox11.PyQT5之Checkbox12.PyQT5之QRadioButton13.PyQT5之单行文本输入到多行显示窗14.PyQT5之网格布局多图片显示15.PyQtGraph绘制折线图16.PyQT5之PyQtGraph实时数据显示17.PyQT5之窗口最大化最小化18.PyQT5之QSS基础/子控件选择器19.PyQT5样式设置20.PyQT5绘图21.PyQT5窗口样式设置22.PyQT5之设置窗口控件风格23.PyQT5之多窗口交互24.PyQT5之override覆盖槽函数25.PyQT5之为槽函数传递参数26.PyQT5信号与槽的连接27.PyQT5信号刷新时间28.PyQT5之信号关闭窗口29.信号与槽N对N30.PyQT5之多个信号31.PyQT5之QTreeView32.PyQT5内嵌html33.PyQT5加载本地web页面34.PyQT5之QWebEngineView35.PyQT5之QThread36.PyQT5之QTimer37.PyQT5之QStackedWidget38.PyQT5之QTreeWidget-QTabWidget
39.PyQT5之QTableWidget
40.PyQT5之QListWidget41.PyQT5之QListView42.PyQT5之二维表QTableView43.PyQT5打印机44.PyQT5之QPainter45.PyQT5之QFontDialog46.PyQT5之QInputDialog47.PyQT5之QMessageBox48.PyQT5之QDialog49.PyQT5之多页面切换50.PyQT5之计数器控件QSpinBox51.PyQT5之滑块控件QSlider52.PyQtGraph绘图参考53.PyQtGraph之多图绘制54.PyQtGraph之柱状图55.PyQt5选择文件控件QFileDialogimport os, sys, re
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QBrush
'''
void currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
void currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
void itemActivated(QTableWidgetItem *item)
void itemChanged(QTableWidgetItem *item)
void itemClicked(QTableWidgetItem *item)
void itemDoubleClicked(QTableWidgetItem *item)
void itemEntered(QTableWidgetItem *item)
void itemPressed(QTableWidgetItem *item)
void itemSelectionChanged()
'''
class QTableWidgetDemo(QWidget):
def __init__(self):
super(QTableWidgetDemo, self).__init__()
self.setWindowTitle("QTableWidgetDemo")
self.resize( 600,500 )
self.mainlayout = QVBoxLayout(self)
#创建表格 5行,4列
self.tablewidget = QTableWidget(5,4,self)
self.mainlayout.addWidget(self.tablewidget)
# 设置水平表头
self.tablewidget.setHorizontalHeaderLabels(["第1列", "第2列", "第3列", "第4列"])
# 设置垂直表头
self.tablewidget.setVerticalHeaderLabels(["a", "b", "c", "d", "e"])
self.tablewidget.verticalHeader().setVisible(True)
# 隐藏垂直表头
# self.tablewidget.verticalHeader().hide()
# 宽度适应
self.tablewidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# 表头颜色
self.tablewidget.horizontalHeader().setStyleSheet("QHeaderView::section{background:lightgreen;}")
# self.tablewidget.setShowGrid(False) # 隐藏表格线
# 设置表格项
for row in range(5):
for col in range(4):
item = QTableWidgetItem("第%d行 %d列"%(row,col))
self.tablewidget.setItem(row, col, item)
# 常用的信号 setBackground(QBrush(Qt.white))
self.setMouseTracking(True)
# self.tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 禁止编辑
self.tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows) # 整行选择
#
# item 被点击 设置背景红色
self.tablewidget.itemClicked.connect(self.slot_itemClicked)
# item 被双击 设置背景绿色
self.tablewidget.itemDoubleClicked.connect(self.slot_itemDoubleClicked)
# item 进入 设置背景黄
self.tablewidget.itemEntered.connect(self.slot_itemEntered)
# press
self.tablewidget.itemPressed.connect(self.slot_itemPressed)
def slot_itemClicked(self,item ):
item.setBackground(QBrush(Qt.red))
def slot_itemDoubleClicked(self, item):
item.setBackground(QBrush(Qt.green))
def slot_itemEntered(self, item):
item.setBackground(QBrush(Qt.yellow))
def slot_itemPressed(self, item):
item.setBackground(QBrush(Qt.gray))
if __name__ == "__main__":
app = QApplication(sys.argv)
test = QTableWidgetDemo()
test.show()
sys.exit(app.exec_())
合集:
PyQt5
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析