【问题标题】:replace integer with string (integer with commas) in QSpinBox Widget - PyQt4在 QSpinBox Widget - PyQt4 中用字符串替换整数(带逗号的整数)
【发布时间】:2017-07-13 13:29:41
【问题描述】:

我使用 PyQt4 设计器将 QSpinBox Widget 添加到我的项目中。 QSpinBox Widget 包含一个整数(计数器)。 我正在用这个setValue() 方法更新这个号码。

我想用逗号替换这个整数。所以现在它将是一个字符串而不是整数。

是否可以向 QSpinBox Widget 添加字符串(带逗号的整数)?如果没有,我应该使用什么小部件?我应该使用哪些方法? 谢谢。

【问题讨论】:

  • 你可以展示你想放的字符串的例子,拜托。
  • 你能更清楚地解释一下为什么你想这样做吗?用引号显示数字似乎很奇怪(如果这就是你的意思)——用户将如何从中受益?目前,您的问题具有XY Problem 的所有特征。

标签: python pyqt pyqt4 qspinbox


【解决方案1】:

只需继承 QSpinbox 并覆盖 textFromValue 方法。您需要使用 setRange 更改范围才能看到格式,因为默认最大值为 99。

class CommaSpinBox(QtWidgets.QSpinBox):
    def __init__(self, *args, **kwargs):
        super(CommaSpinBox, self).__init__(*args, **kwargs)

    def textFromValue(self, value):
        return '{:,d}'.format(value)

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    相关资源
    最近更新 更多