Интересно, может ли кто-нибудь помочь мне решить эту проблему относительно соединения слотов в PyQt5. Следующий фрагмент кода покажет вам, в чем моя проблема.Объект MainWindow не имеет атрибута 'connect'
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
path = os.path.join(os.path.dirname(__file__), 'GUI/Main_GUI.ui')
self.gui = loadUi(path)
self.gui.button_1.clicked.connect(self.run.this)
def _connect_my_slots(self, origin):
self.connect(origin, SIGNAL('completed'), self._show_results)
self.connect(origin, SIGNAL('error'), self._show_error)
def run_this(self):
myThread = LongRunningThing()
self._connect_my_slots(self.myThread) # THIS IS THE PART THAT CAUSES ERROR
Как вы можете видеть мои MainWindow
объекта моего файл UI (от QtDesigner 5) и один раз я называю _connect_my_slots
функцию, которую он выдает ошибку:
AttributError: 'MainWindow' object has no attribute 'connect'
Большое спасибо старым сигналам tmoreau были причиной проблемы. Просто чтобы убедиться, что я на правильном пути, не могли бы вы рассказать мне, если мое заявление EMIT также является старым стилем: self.emit (SIGNAL ('completed'), self.result) Спасибо заранее , – Beller0ph0n
Да, это старый стиль. «СИГНАЛ» - это ваш ключ. Все, что вам нужно знать по сигналам, находится на связанной странице документации (даже для PyQt4, она должна работать одинаково) – Mel
Еще раз спасибо tmoreau. Я уже просматриваю этот документ. Ваша помощь очень признательна! – Beller0ph0n