Помогите пожалуйста вызвать функцию. Я не понимаю как это правильно сделать. Мне нужно вызвать функцию update_lb_cab внутри функции другого класса чтобы обновить данные в интерфейсе. Перепробовал разные варианты, но они не работают. Вызвать нужно в месте где комментарий - # Вызвать update_lb_cab здесь !
import sys
from PySide6 import QtWidgets
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
from main_ui import Ui_MainWindow
from settings_ui import Ui_Dialog
from conn import Data
class queue(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.conn = Data()
#Принимаем параметр (medecins_id). По умолчанию без параметра передается medecins_id администратора
if __name__ == "__main__":
if len (sys.argv) > 1:
global medecins_id
medecins_id = format (sys.argv[1])
medecins_fio = Data.get_fio_medecins(self, medecins_id)
else:
medecins_id = 1
medecins_fio = "Системный администратор"
print("Параметр - системный администратор")
# Вывод ФИО врача, запустившего программу
self.ui.lb_vrach.setText("Врач: " + medecins_fio)
def update_lb_cab(self):
# Вызов функции для показа номера кабинета в верху программы. Второй аргумент в функции get_cabinet это medecins_id
self.ui.lb_cab.setText("Кабинет: " + str(Data.get_cabinet(self, medecins_id)))
update_lb_cab(self)
# Запуск функции с окном выбора кабинета и его настройками
self.ui.btn_cab.clicked.connect(self.setiingsClicked)
def test(self):
print("1")
# Функция запуска класса с диалоговым окном - настройки кабинета
def setiingsClicked(self):
dlg = settings(self)
dlg.exec()
# Диалоговое окно - настройки кабинета
class settings(Ui_Dialog, QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.set = Ui_Dialog()
self.set.setupUi(self)
self.set.btn_save_cab.clicked.connect(self.update_cab)
def update_cab(self):
entry_cab = self.set.lineEdit.text()
# Вызвать update_lb_cab здесь !
Data.update_cab_sql(self, entry_cab, medecins_id)
QDialog.close(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = queue()
window.show()
sys.exit(app.exec())