2014-07-22 22 views
1

任何人有任何想法如何使数字等于或大于100在pyqt液晶显示为十六进制模式?这里是代码:如果总值大于99,如何将十六进制模式设置为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() 

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

回答

1

preeeetty肯定这不是你的意思:

for self.lcdValue in (99, 164): 

试试这个:

if 99 < self.lcdValue < 164: 

不要忘记它的复位开始的方法,因为你不希望它永久这样。

+0

这也不能正常工作。我的价值观依然存在。 – Viv91

1

像伊格纳西奥提到的,你必须重新设置它,你可以做这样的:

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() 
+0

它仍然不正确地添加。不知道我做错了什么。无需重新设置整个程序就可以完成吗? – Viv91

+0

它适合我。你可以把你得到的值输出80,120 150 164 – Aleksandar

+0

对于80 + 40,我得到了78这是错误的。我应该以十六进制格式获得120。对于80 + 20,我得到了64。 – Viv91

相关问题