Помогите решить проблему взаимодействия окон в PyQT5
Смысл в том что нужно чтобы окно№1 открывало окно№2, затем сведения из окна№2 передавались в окно№1. Открытие окон я настроил а вот с данными беда
Код:
from PyQt5 import QtWidgets, QtCore, QtGui, QtSql
from PyQt5.QtWidgets import QTableWidgetItem
import menu, change, added
import sys, sqlite3
class my_window(QtWidgets.QMainWindow, menu.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.ui = menu.Ui_MainWindow()
self.ui.setupUi(self)
self.ui.tableWidget.setRowCount(1)
conn = sqlite3.connect('MO_MVD.db')
cur = conn.cursor()
table_row = 1
row = 0
for obj in cur.execute("SELECT * FROM MO_MVD"):
self.ui.tableWidget.setRowCount(table_row)
col = 0
for item in obj:
if item == None:
item = ''
if item == '1':
item = 'ДА'
if item == '0':
item = ''
cellinfo = QTableWidgetItem(str(item))
self.ui.tableWidget.setItem(row, col, cellinfo)
col += 1
table_row += 1
row += 1
#self.ui.clr_btn.clicked.connect(self.add_row)
self.ui.add_btn.clicked.connect(self.add_window)
def add_row(self):
conn = sqlite3.connect('MO_MVD.db')
cur = conn.cursor()
cur.execute('INSERT INTO MO_MVD VALUES ("","","","","","", "","")')
conn.commit()
table_row = 1
row = 0
for obj in cur.execute("SELECT * FROM computers"):
self.ui.tableWidget.setRowCount(table_row)
col = 0
for item in obj:
if item == None:
item = ''
if item == '1':
item = 'ДА'
if item == '0':
item = ''
cellinfo = QTableWidgetItem(str(item))
self.ui.tableWidget.setItem(row, col, cellinfo)
col += 1
table_row += 1
row += 1
def add_window(self):
self.Added_Window = added_window()
self.Added_Window.show()
def printed(self):
self.ui.label_3.setText('Ghbdtn!')
print('OK!')
class added_window(QtWidgets.QMainWindow, added.Ui_add_window, menu.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.added = added.Ui_add_window()
self.added.setupUi(self)
self.added.save_btn.clicked.connect(self.add_item)
self.added.cancel_btn.clicked.connect(self.cancel)
def add_item(self):
self.zzz = my_window(self)
self.zzz.setupUi(self)
self.zzz.label_3.setText('123')
def cancel(self):
self.close()