PyQt保存到插槽中的剪贴板

时间:2011-05-18 15:27:54

标签: pyqt

如何通过按按钮将一些文本保存到剪贴板? 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")') )

什么也不做。

有什么问题?

1 个答案:

答案 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