PyQt:更改 QTableView 中复选框的对齐方式

Posted

技术标签:

【中文标题】PyQt:更改 QTableView 中复选框的对齐方式【英文标题】:PyQt: change the alignment of checkboxes in a QTableView 【发布时间】:2011-02-27 07:04:28 【问题描述】:

我有一个带有复选框的QTableView,但复选框左对齐,我需要将其居中对齐。我试过this,但“检查”功能有问题:

def drawCheck(self, painter, option, rect, state):
    textMargin = QtGui.QApplication.style().pixelMetric(QtGui.QStyle.PM_FocusFrameHMargin) + 1
    checkRect = QtGui.QStyle.alignedRect(option.direction, QtCore.Qt.AlignCenter, 
                 check(option, option.rect, QtCore.Qt.Checked).size(),
                QtCore.QRect(option.rect.x() + textMargin, option.rect.y(),
                option.rect.width() - (textMargin * 2), option.rect.height()))                           
    QtGui.QItemDelegate.drawCheck(self, painter, checkRect, state)

什么是“检查”功能?如何在 PyQt 中重新实现 C++ 示例?

【问题讨论】:

【参考方案1】:

您链接到的示例代码没有check 函数-可能是已修复的错字吗?或者它可能是代码本身定义的函数,而不是Qt 的一部分?

【讨论】:

以上是关于PyQt:更改 QTableView 中复选框的对齐方式的主要内容,如果未能解决你的问题,请参考以下文章

在 QTableView 中嵌入控件?

将 pandas DataFrame 与 PyQt5 QTableView 同步

PyQt5 QTableView:如何在保持默认样式/颜色的同时禁用用户交互/选择?

PyQt4 - QTableView - 如何循环 QTableView

PySide/pyQt 在 QTableView 中显示数据

PyQt5 更改 QAbstractTableModel 中的 BackgroundRole 设置