- Приложение PyQt5 с несколькими окнами
- Кнопка «Добавить» во втором окне
После нажатия кнопки необходимо отобразить в QTextEdit () в главном окне:«Добавлено»
Попробуйте импортировать из второго окна первое и: QTextEdit (). Append («добавлено»).Но первое окно уже импортировано во второе, тогда я получаю сообщение об ошибке (Второе окно импортирует себя ...)
Это главное окно:
from PyQt5.QtWidgets import *
import sys
from App.A_Client import NewClient
class Crm(QWidget):
def __init__(self, parent=None):
super(Crm, self).__init__()
self.setGeometry(50, 50, 400, 100)
self.setWindowTitle("CRM TEST")
self.grid = QGridLayout()
self.grid.setSpacing(10)
self.setLayout(self.grid)
self.home()
def home(self):
self.message_box = QTextEdit()
self.message_box.setReadOnly(True)
self.grid.addWidget(self.message_box, 3, 0, 5, 3)
# NEED TO APPEND THE "ADDED" IN SELF.MESSAGE_BOX FROM CLICK IN THE SECOND WINDOW
self.dialogs = list()
self.show()
def btn1_on(self):
dialog = NewClient(self)
self.dialogs.append(dialog)
dialog.show()
if __name__ == "__main__":
app = QApplication([])
launch = Crm()
app.exec_()
есть второй:
from PyQt5.QtWidgets import *
from App.App_main import Crm
class NewClient(QWidget):
def __init__(self, parent = None):
super(NewClient, self).__init__()
self.setWindowTitle("ADD CLIENT")
self.grid = QGridLayout()
self.setLayout(self.grid)
self.home()
def home(self):
self.btn_client_add = QPushButton("Add", self)
self.grid.addWidget(self.btn_client_add, 12, 0, 12, 3)
self.btn_client_add.clicked.connect(self.btn_add_on)
def btn_add_on(self):
if self.check_client_option_news_letter.isChecked():
news_letter = "True"
else:
news_letter = "False"
if self.check_client_option_other.isChecked():
option = "True"
else:
option = "False"
choice = QMessageBox.question(self, "Execute", "Do you want to add this client ?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
if choice == QMessageBox.Yes:
Crm.message_box.append("Added") # THERE IS WHEN I WOULD LIKE TO APPEND THE "ADDED"
else:
pass