Всем привет. Есть программа которая сбитая в один файл. Теперь хочу это всё дело раскидать по модулям.
Как мне принять сигнал в pyqt с другого модуля?
Сейчас я передаю сигнал так:
self.parserBazos.newTextSignalBazos.connect(self.addNewItemBazos)
Главный файл
config_dir = 'modules/sk_sk/bazos/config/config.ini'
open_file_number_dir = 'modules/sk_sk/bazos/database/database_number.txt'
open_file_csv_dir = 'modules/sk_sk/bazos/database/database.csv'
class ParserBazos(QtCore.QObject):
running = False
newTextSignalBazos = QtCore.pyqtSignal(str)
def run(self):
bazos.main(config_dir, open_file_number_dir, open_file_csv_dir)
class MyWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.parserButton_1.clicked.connect(self.threadBazos)
def threadBazos(self):
self.thread_1 = QtCore.QThread()
self.parserBazos = ParserBazos()
self.parserBazos.moveToThread(self.thread_1)
self.parserBazos.newTextSignalBazos.connect(self.addNewItemBazos)
self.thread_1.started.connect(self.parserBazos.run)
self.thread_1.start()
@QtCore.pyqtSlot(str)
def addNewItemBazos(self, string):
self.ui.parserList_1.addItem(string)
И вот другой файл с которого вместо print нужно посылать сигнал и выводить в окне программы
def print_item(data):
data_item = data['phone'], data['country_code'], data['name'], data['title'], data['location'], data['link_page'], data['login'], data['link_login']
print(data_item)
return data_item