使用PyQt5将编辑器委托设置为QDoubleSpinBox:
class MoneyDelegate(QStyledItemDelegate):
def initStyleOption(self, option, index):
super(MoneyDelegate, self).initStyleOption(option, index)
val = float(index.data())
option.text = '${:,.2f}'.format(val)
option.displayAlignment = Qt.AlignVCenter | Qt.AlignRight
def createEditor(self, QWidget, QStyleOptionViewItem, QModelIndex):
super(MoneyDelegate, self).createEditor(QWidget, QStyleOptionViewItem, QModelIndex)
editor = QDoubleSpinBox(self)
editor.setMinimum(.01)
editor.setMaximum(999999.99)
return(editor)
在我的QTableWidget类中:
^{pr2}$我遇到的问题是编辑器在屏幕的左上角显示为一个单独的对话框。我错过了什么?在
不要使用}作为函数参数的名称,因为它们是类的名称,而您正在混淆它们。另一方面,您必须作为编辑器的父级传递给^{} 的第一个参数:
QWidget
、QStyleOptionViewItem
和{相关问题 更多 >
编程相关推荐