【问题标题】:Emitting unknown number of args to pyqtSignal向 pyqtSignal 发出未知数量的参数
【发布时间】:2021-06-06 20:28:19
【问题描述】:

我想向 pyqtSignal 发出未知数量的参数

例如将未知参数传递给 def 时:-

def oPrint(*args):
    print(args)

我想对 pyqtSignal 做同样的事情。即:-

class UI(QMainWindow):
    msgSig = pyqtSignal(*object) #this gives error

【问题讨论】:

    标签: python python-3.x pyqt5 signals


    【解决方案1】:

    TL;博士; Qt 需要知道参数的数量,因此无法满足您的要求。


    一种解决方法是使用一些容器作为列表或元组。

    class UI(QMainWindow):
        msgSig = pyqtSignal(list)
    
    ui = Ui()
    l = [1, "2", 3, "4"]
    ui.msgSig.emit(l)
    
    def oPrint(args):
        print(args)
    

    【讨论】:

    • 我已经知道了。这行得通,但这只是一种解决方法
    • @ibrahem 我认为在我的版本中我提供了一个更清晰的答案:你所问的都是不可能的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    相关资源
    最近更新 更多