pyqt - arguments for partial function in python -
i have function defined this:
def func(self, boolval): and want create connection between qpushbutton() , function this:
self.button1.clicked.connect(partial(self.func, false)) when run this, tells me func() takes 2 arguments (3 given) knows why happened?
functools.partial works fine.
see following example:
from functools import partial pyqt4.qtgui import * class mywindow(qwidget): def __init__(self): super(qwidget, self).__init__() self.button = qpushbutton('test', parent=self) self.button.clicked.connect(partial(self.func, false)) self.button.show() def func(self, boolvar): print boolvar app = qapplication([]) win = mywindow() win.show() app.exec_() if still error replace func signature with:
def func(self, boolvar, checked): print boolvar
Comments
Post a Comment