I would like to emit a signal in my main window and somewhere deep down in one of my components I would like to receive that signal. I have read in some thread here that can be solved with a common signal class, however I cannot make it work.
I created a signal Manager class with a test signal in it:
class Manager(QObject):
test_signal = Signal(str)
def __init__(self):
QObject.__init__(self)
In my main window I do this:
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.signal_manager = SignalManager.Manager()
def some_button_clicked(self):
self.signal_manager.test_signal.emit('test')
Somewhere deep in one of the components:
class MyTreeWidget(QTreeWidget):
def __init__(self, parent=None):
QTreeWidget.__init__(self, parent)
self.signal_manager = SignalManager.Manager()
self.signal_manager.test_signal.connect(self.do_something)
def do_something(self, param):
# Do something...
So when I click my button and some_button_clicked emits the event do_something() should happen but it won't. Wondering what could be the problem here?