Добрый день.
Подскажите, пожалуйста, возможно ли получить доступ к интерфейсу программы из другого модуля, то есть так:
main.py:
from PyQt5 import QtWidgets, QtGui, uic
import sys
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
def load_main_window(self):
uic.loadUi('resources/main.ui', self)
self.setWindowTitle('Program')
self.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = MainWindow()
main_window.load_main_window()
sys.exit(app.exec_())
Данный модуль, main.py, открывает окно, в котором есть label.
Я попробовал сделать ещё один модуль print_label.py и создать экземпляр класса, чтобы потом попробовать получить доступ к label:
from main import MainWindow
a = MainWindow()
a.label.setText('Test')
Смысл в том, что я хотел, чтобы в main.py импортировать модуль print_label.py и при запуске main.py выводился текст в label. Но, чувствую, не так это делается, так как при запуске print_label.py или при его импорте в main.py программа сразу завершается без ошибок. Что можно сделать в данном случае?