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

时间:2014-07-22 01:07:30

标签: python pyqt4

任何人都知道如何使数字等于或大于100在pyqt lcd中显示为十六进制模式?这是代码:

def showValue(self):
    sender = self.sender()
    if sender.isChecked():
        self.lcdValue += sender.GetValue()
        self.lcdNumber.display("0" +str(self.lcdValue))
    else:
        self.lcdValue -= sender.GetValue()
        self.lcdNumber.display("0" +str(self.lcdValue))

    for self.lcdValue in (99, 164):
        self.lcdNumber.setHexMode()

它以十六进制模式返回有趣的值,不再进行加法或减法。

2 个答案:

答案 0 :(得分:1)

preeeetty 确定这不是你的意思:

for self.lcdValue in (99, 164):

请改为尝试:

if 99 < self.lcdValue < 164:

不要忘记在方法开头重置它,因为你不想永久地这样做。

答案 1 :(得分:1)

就像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()