如何将参数传递给PyQT5按钮功能?

时间:2018-01-12 07:18:35

标签: python qt pyqt qt5 pyqt5

我是QT的新手,我在使用QT设计器生成的GUI中具有参数的函数时遇到了困难。如何将按钮绑定到具有参数的函数?我可以使用按钮来处理打印" hello world"功能。带参数的函数会产生一个布尔值" False"当我点击按钮时。

import GUITESTFUNCS    
self.pushButton.clicked.connect(GUITESTFUNCS.display)

我导入的GUI按钮使用的功能是......

#practice functions for GUITEST

a = 8

def display(a):
    print(str(a))

1 个答案:

答案 0 :(得分:1)

当您将信号连接到函数时,传递给函数的任何参数都是由发出的信号生成的,而不是您在代码中其他位置定义的任意值。您可以在QT docs中查找clicked信号,并看到该信号的参数是一个布尔值,仅在按钮可检查时才相关。在您的情况下,该按钮不可检查或未选中,这就是您将False作为display功能的参数的原因。

如果你想将一个信号连接到一个函数并且该函数要接收一个信号没有生成的参数,我通常会这样做:

from functools import partial

def display(arg):
    print(arg)

a = 8

display_a = partial(display, a)

self.pushButton.clicked.connect(display_a)