第一步是为数字键盘创建一个按钮组。
在 Qt Designer 中,单击其中一个按钮,然后按住 Ctrl 并单击数字键盘中的所有其他按钮,以便它们都被选中(总共十二个按钮)。现在右键单击其中一个按钮,然后从菜单中选择分配给按钮组 > 新建按钮组。然后保存ui文件。
您现在可以在主脚本中添加一个处理程序来控制按钮:
class MyWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QWidget.__init__(self)
file_path = os.path.abspath("aaa.ui")
uic.loadUi(file_path, self)
self.barcode_src_line.setReadOnly(True)
self.buttonGroup.buttonClicked.connect(self.handleButtons)
def handleButtons(self, button):
char = str(button.text())
if char == 'C':
self.barcode_src_line.clear()
else:
text = str(self.barcode_src_line.text()) or '0'
if char != '.' or '.' not in text:
if text != '0' or char == '.':
text += char
else:
text = char
self.barcode_src_line.setText(text)
这将像普通计算器一样工作。如果你想要不同的行为,你当然可以用你喜欢的任何方式重写handleButtons
。