GUI:按下按钮时将参数传递给函数

时间:2014-12-12 05:50:41

标签: python qt button pyside argument-passing

如果这个问题非常简单,我可以找借口。我有一个带有几个按钮的GUI(带有PySide的QT)。我想连接2个按钮和一个功能,它应该做同样的事情与一个区别。为此,我需要传递一个论点。这是代码类型:

def test(flag):
    if flag:
        do something
    else:
        do something else

# button calls:
self.ui.button1.clicked.connect(test(True))
self.ui.button2.clicked.connect(test(False))

我已尝试过如上所述的内容,但它不喜欢测试(True)。我也和lambda一起玩过,我被困在同一个地方。到目前为止,我一直在调用两个单独的函数,但这不是一个好习惯。任何帮助表示赞赏。

由于

有效!比我想象的要简单得多。非常感谢。

1 个答案:

答案 0 :(得分:2)

你说你用过lambdas,你试过吗

self.ui.button1.clicked.connect(lambda:test(True))
self.ui.button2.clicked.connect(lambda:test(False))

这应该有用。