快捷键调用的函数丢失了传递的参数,为什么?

时间:2019-07-16 13:44:45

标签: python pyqt

我正在尝试动态创建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

0 个答案:

没有答案