【问题标题】:PyQt5 QLCDNumber DisplayPyQt5 QLCD数字显示
【发布时间】:2020-05-31 15:47:51
【问题描述】:

我是 PyQt5 的新手,已经玩了大约两个星期了,我遇到了 QLCDNumber 显示方法的问题。我希望能够显示超过 5 位数字,而我目前无法使用我拥有的代码。在我输入第 6 位数字后,数字停止显示。 我在 google 和 youtube 上研究了大约一周,但找不到解决方案。 代码:

self.lcd = QLCDNumber(self)
self.lcd.setGeometry(3, 120, 150, 30)
self.lcd.display(91029)

上面的代码有效,但下面的代码不显示数字:

self.lcd = QLCDNumber(self)
self.lcd.setGeometry(3, 120, 150, 30)
self.lcd.display(910297)

【问题讨论】:

标签: python python-3.x pyqt pyqt5 qlcdnumber


【解决方案1】:

正如the docs 指出的那样:

digitCount : int

此属性保存当前位数 显示

对应于当前位数。如果 QLCDNumber::smallDecimalPoint 为假,小数点占一位 数字位置。

默认情况下,此属性包含的值为 5。

此属性是在 Qt 4.6 中引入的。

访问功能:

int digitCount()
const void setDigitCount(int numDigits)

(强调我的)

默认情况下,最多只显示5位数字,所以如果你想显示更多或更少的数字,你必须使用X方法或在构造函数中指向它:

self.lcd = QLCDNumber(6, self)
self.lcd.setGeometry(3, 120, 150, 30)
self.lcd.display(910297)

self.lcd = QLCDNumber(self)
self.lcd.setGeometry(3, 120, 150, 30)
self.lcd.setDigitCount(6)
self.lcd.display(910297)

【讨论】:

  • 上面的答案让我可以显示更多的数字,但我遇到了这个问题。 self.lcd.display(9102970012) OverflowError: argument 1 overflowed: value must be in the range -2147483648 to 2147483647
  • @CarlosDias QLCDisplay 仅支持具有该有限范围(-2147483648 到 2147483647)的 C++ int,如果您对如何显示该范围之外的值(如 9102970012)有新问题,那么您必须创建一个新帖子也许有人提出了解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
相关资源
最近更新 更多