gpt4 book ai didi

python - 如何将键 (QtCore.Qt.Key_1) 分配给 python 中的按钮。数字键盘

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:00 25 4
gpt4 key购买 nike

我有这个numpad ,我想让每个带编号的按钮在上面的行上写下其对应的编号。例如,如果我通过按下按钮输入 1234,将在该行上显示相同的序列。我在 qt 设计器中使用 pyqt4。 上面的行是一个 QlineEdit,我直接在 python 脚本中导入 .ui 文件我不使用 pyuic4 转换它。有人可以帮我找到解决方案吗?我是 3 个月前开始的 python 新手。谢谢

class MyWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QWidget.__init__(self)
file_path = os.path.abspath("ui/sales_window.ui")
uic.loadUi(file_path, self)

最佳答案

第一步是为数字键盘创建一个按钮组。

在 Qt Designer 中,单击其中一个按钮,然后按住 Ctrl 并单击数字键盘中的所有其他按钮,以便将它们全部选中(总共 12 个按钮)。现在右键单击其中一个按钮并从菜单中选择分配给按钮组 > 新建按钮组。然后保存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

关于python - 如何将键 (QtCore.Qt.Key_1) 分配给 python 中的按钮。数字键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com