【问题标题】:How, when a PyQt button is pressed, to assign a number to a variable [duplicate]当按下 PyQt 按钮时,如何将数字分配给变量 [重复]
【发布时间】:2021-08-22 09:41:45
【问题描述】:

这里的第一个问题,我是 python 的初学者,我正在开发一个代码项目,我想知道如何在 PyQt5 中按下按钮后,将变量设置为一个简单的值,如 1, 2个或3个... 我已经像这样测试过它,但它没有用......:

x = self.button.clicked.connect(function()) 
if x==1:
  print("It works !")

def function():
    return 1

这样我可以稍后在代码中使用 x 对其进行测试... 非常感谢

【问题讨论】:

    标签: python button pyqt pyqt5


    【解决方案1】:

    connect 方法不返回处理函数的返回值,而是返回一个连接,参见Connect()

    这意味着你必须将你的变量传递给函数并在那里修改它。

    self.x = 0
    self.button.clicked.connect(self.function) 
    
    def function(self):
        self.x=1
    

    【讨论】:

    • 必须与可调用引用建立连接,因此connect(self.function)中不应有尾括号
    • 你是对的,我最初的答案中有一个 lambda,我不小心留下了括号,编辑了我的答案以反映你的评论。
    猜你喜欢
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多