Qtablewidget()继承于QTableView,每一个Cell(单元格)是一个QTableWidgetItem

tablewidget = QTableWidget()
# 禁止编辑
tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
setEditTriggers(self, Union[QAbstractItemView.EditTriggers, QAbstractItemView.EditTrigger]
# 整行选择
tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows)
setSelectionBehavior(self, QAbstractItemView.SelectionBehavior) 
# 调整列和行
tablewidget.resizeColumnsToContents()
tablewidget.resizeRowsToContents()
#表格头的显示和隐藏
#tablewidget.horizontalHeader().setVisible(False)
#tablewidget.verticalHeader().setVisible(False)

tablewidget.setVerticalHeaderLabels(["a","b"])
setVerticalHeaderLabels(self, Iterable[str])
# 隐藏表格线
tablewidget.setShowGrid(True)


右键菜单设置:
tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)先设置选择模式,框内选择的是右键菜单
tableWidget.customContextMenuRequested.connect(self.generateMenu)信号的连接;
tableWidget.selectionModel().selection().indexes()被选择的表格的索引
初始化menu = QMenu()

menu.addAction('something')
generateMenu(self,pos):传入的pos是第一次点击的位置在框内的坐标
tableWidget.mapToGlobal(pos):化成全屏的坐标
action = menu.exec(screenPos)通过位置并读取出,所点击的对象


posted on 2020-02-27 16:19  把恐惧变成希望  阅读(711)  评论(0编辑  收藏  举报

导航