覆盖 QPushButton 以提供额外的文本

Override QPushButton to provide additional text

我只是想扩展一个 QPushButton,这样它就可以存储一个额外的长字符串,供我之后使用。

PyQtbuilt-in类支持动态属性,和普通的一样user-definedPython类:

>>> button = QtWidgets.QPushButton()
>>> button.foo = 'bar'
>>> print(button.foo)
bar

但是,您也可以使用 QObject properties,因为 QPushButton 继承了 QObject(通过 QWidget):

>>> button.setProperty('extra', 'additional long string')
>>> button.property('extra')
'additional long string'

这种方法的一个重要区别是,未设置的属性将始终 return None,而不是引发错误:

>>> button.property('whatever') is None
True