我是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))
答案 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)