【问题标题】:how to receive return value from a methord into a variable in pyqt5? [duplicate]如何将方法的返回值接收到pyqt5中的变量中? [复制]
【发布时间】:2020-01-11 15:02:32
【问题描述】:

我已经编写了代码来向方法发送值, 即

    b = "tp send"
    a = self.sendnprint.clicked.connect(lambda: self.CBautofill(b))
    print(a)

然后方法是这样的

 def CBautofill(self,a10):
    print(a10)
    appppppp = "to receive"
    return(appppppp)

但我实际上没有收到任何错误,但结果不是按照异常以及我认为它接收到空值?

【问题讨论】:

    标签: pyqt5


    【解决方案1】:

    你没有得到你想要的东西有两个原因。

    首先,lambda 声明不是return 结果,而是 lambda 函数本身:

    In [1]: a = lambda x: x * 5
    
    In [2]: print(a)
    <function <lambda> at 0xb5d6a95c>
    
    In [3]: print(a(5))
    25
    

    那么,signal -&gt; slot 连接只是一个将信号连接到插槽(函数/方法)并返回 None 的函数。

            # ...
            b = "tp send"
            self.sendnprint.clicked.connect(lambda: self.getResult(b))
    
        def getResult(self, value):
            print(self.CBautofill(value))
    
        def CBautofill(self,a10):
            print(a10)
            appppppp = "to receive"
            return(appppppp)
    

    【讨论】:

    • 谢谢哥们,我明白了
    猜你喜欢
    • 2021-04-04
    • 2017-07-20
    • 2014-11-22
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多