выполнение логики в модуле qt designer python
есть два файла, один является основным, main.py, второй, например, test.py. в test.py выполняется какая-то логика и он должен вставить данные в таблицу интерфейса, который инициализирован и запущен в main.py. как сделать так, чтобы к интерфейсу можно было обращаться из файла test.py и соответственно, например, получать данные из элементов интерфейса или вставлять какие-то данные в его элементы, при том, что интерфейс создан в main.py
main.py
from PySide6 import QtCore, QtGui, QtWidgets
import sys, os
from ui import Ui_Form
import sqlite3
import show_table
class ui_Interface(QtWidgets.QWidget, Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
def main():
app = QtWidgets.QApplication(sys.argv)
window = ui_Interface()
window.show()
app.exec_()
if __name__ == "__main__":
main()
test.py (у меня он show_table)
from PySide6 import QtCore, QtGui, QtWidgets
import sys, os
from ui import Ui_Form
import sqlite3
conn = sqlite3.connect("DataBase.db")
cur = conn.cursor()
def get_spec():
cur.execute("SELECT name FROM specialize;")
item_data = []
for i in cur.fetchall():
Ui_Form.pushButton.addItem(i[0])
ui.py
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'ui.ui'
##
## Created by: Qt User Interface Compiler version 6.4.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QComboBox, QGroupBox, QHeaderView,
QPushButton, QSizePolicy, QTabWidget, QTableView,
QWidget)
class Ui_Form(object):
def setupUi(self, Form):
if not Form.objectName():
Form.setObjectName(u"Form")
Form.setWindowModality(Qt.NonModal)
Form.resize(1919, 1113)
Form.setAcceptDrops(False)
self.tabWidget = QTabWidget(Form)
self.tabWidget.setObjectName(u"tabWidget")
self.tabWidget.setGeometry(QRect(0, 0, 1920, 1080))
self.tab = QWidget()
self.tab.setObjectName(u"tab")
self.groupBox = QGroupBox(self.tab)
self.groupBox.setObjectName(u"groupBox")
self.groupBox.setGeometry(QRect(40, 310, 361, 201))
self.pushButton = QPushButton(self.groupBox)
self.pushButton.setObjectName(u"pushButton")
self.pushButton.setGeometry(QRect(220, 130, 121, 51))
self.comboBox = QComboBox(self.groupBox)
self.comboBox.setObjectName(u"comboBox")
self.comboBox.setGeometry(QRect(10, 60, 321, 22))
self.tableView = QTableView(self.tab)
self.tableView.setObjectName(u"tableView")
self.tableView.setGeometry(QRect(490, 0, 1421, 1051))
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QWidget()
self.tab_2.setObjectName(u"tab_2")
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QWidget()
self.tab_3.setObjectName(u"tab_3")
self.tabWidget.addTab(self.tab_3, "")
self.retranslateUi(Form)
self.tabWidget.setCurrentIndex(0)
QMetaObject.connectSlotsByName(Form)
# setupUi
def retranslateUi(self, Form):
Form.setWindowTitle(QCoreApplication.translate("Form", u"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0411\u0430\u0437\u043e\u0439 \u0414\u0430\u043d\u043d\u044b\u0445", None))
self.groupBox.setTitle(QCoreApplication.translate("Form", u"\u0412\u044b\u0431\u043e\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0430 \u0432\u044b\u0432\u043e\u0434", None))
self.pushButton.setText(QCoreApplication.translate("Form", u"\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QCoreApplication.translate("Form", u"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("Form", u"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), QCoreApplication.translate("Form", u"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435", None))
# retranslateUi