如何通过按按钮将一些文本保存到剪贴板? clipboard.setText("gg")
单独使用
widget.connect(button, QtCore.SIGNAL('clicked()'), clipboard.setText("text") )
抛出错误,您只能使用instance.methodName
widget.connect(button, QtCore.SIGNAL('clicked()'), clipboard, QtCore.SLOT('setText("text")') )
什么也不做。
有什么问题?
答案 0 :(得分:1)
首先,有一种更好的方法将信号连接到PyQt上的插槽:
button.clicked.connect(self.method)
您可以使用lambda函数将额外的参数传递给方法。 然后你打电话
button1.clicked.connect(lambda : clipboard.setText('btn one'))
button2.clicked.connect(lambda : clipboard.setText('btn two'))
当您传递函数调用时,实际上解释器正在评估调用并尝试将结果传递给SIGNAL / SLOT连接。这就是你的第一个例子不起作用的原因。
我在这里写了类似的东西:https://stackoverflow.com/questions/...from-other-functions