我正在尝试动态创建PyQt 5动态调用函数。 现实生活中的应用程序的目的是显示填充在PyQt设计中的特定字段内的数据,但它无法正常工作。
调整了一些代码以进行清理之后(感谢这里的stackoverflow用户)我仍然无法读取传递给函数的值(我不大喊这毕竟是解决实际问题的一种方法)
# regular triggers working fine
this.ui.actionBlue_BTN_1.triggered.connect(lambda checked: this.applyColor(0, checked))
this.ui.actionBlue_BTN_2.triggered.connect(lambda checked: this.applyColor(1, checked))
def applyColor:(this, type, checked):
if (type == 0):
print("red now")
else:
print("other one")
# auto generated function call
for item in this.ui.__dict__:
if item.find("action") > -1:
action = getattr(this.ui, item);
valueU = action.statusTip()
if valueU.find("http://") > -1:
#action.triggered.connect(lambda checked: this.printTipOnScreen(valueU)) #triggered by shortcut key
action.triggered.connect(partial(this.fullBrowser, valueU)) ###############################################RIGHT ANSWER HERE - (put "from functools import partial" above your code)
def printTipOnScreen(self, *args):
# return this( on DEBUG ) at this point -> args = ""(empty)
pass