Python 如果总值大于99,如何将十六进制模式设置为lcd?

Python 如果总值大于99,如何将十六进制模式设置为lcd?,python,pyqt4,Python,Pyqt4,有人知道如何使大于等于100的数字在pyqt lcd中显示为十六进制模式吗?代码如下: def显示值(自身): sender=self.sender() 如果sender.isChecked(): self.lcdValue+=sender.GetValue() self.lcdNumber.display(“0”+str(self.lcdValue)) 其他: self.lcdValue-=sender.GetValue() self.lcdNumber.display(“0”+str(sel

有人知道如何使大于等于100的数字在pyqt lcd中显示为十六进制模式吗?代码如下:

def显示值(自身):
sender=self.sender()
如果sender.isChecked():
self.lcdValue+=sender.GetValue()
self.lcdNumber.display(“0”+str(self.lcdValue))
其他:
self.lcdValue-=sender.GetValue()
self.lcdNumber.display(“0”+str(self.lcdValue))
对于(99164)中的self.lcd值:
self.lcdNumber.setHexMode()
它在十六进制模式下返回有趣的值,不再进行加减运算。

我确信这不是你的意思:

请尝试以下方法:

if 99 < self.lcdValue < 164:
如果99

不要忘记在方法开始时重置它,因为您不希望它永远像这样。

像Ignacio提到的那样,您必须重置它,您可以这样做:

def showValue(self):
        sender = self.sender()
        if sender.isChecked():
            self.lcdValue += sender.GetValue()
        else:
            self.lcdValue -= sender.GetValue()

        self.lcdNumber.display("000000" + str(self.lcdValue))

        if 99 < self.lcdValue < 164:
            self.lcdNumber.setHexMode()
        else:
            self.lcdNumber.setDecMode()
def显示值(自身):
sender=self.sender()
如果sender.isChecked():
self.lcdValue+=sender.GetValue()
其他:
self.lcdValue-=sender.GetValue()
self.lcdNumber.display(“000000”+str(self.lcdValue))
如果99
这也不行。我的值仍然混乱。它仍然不能正确地进行加法。不知道我做错了什么。可以不重置整个程序就完成吗?对我来说很好。你们能把你们得到的80,120,150,16480+40的输出,我得到了78,这是错误的。我应该得到120的十六进制格式。对于80+20,我得到了64,这并没有错。120的十六进制是78,100的hax是64。你们可以用程序员计算器来确认,是的,我刚刚发现它不是十六进制模式。这是另一种模式,但谢谢你指出给我!
def showValue(self):
        sender = self.sender()
        if sender.isChecked():
            self.lcdValue += sender.GetValue()
        else:
            self.lcdValue -= sender.GetValue()

        self.lcdNumber.display("000000" + str(self.lcdValue))

        if 99 < self.lcdValue < 164:
            self.lcdNumber.setHexMode()
        else:
            self.lcdNumber.setDecMode()