1. Windows 10
2. Python 3.8.5
3. PySide 6
Доброго времени суток, делаю программу с несколькими страницами, при помощи компонента stackedWidget. Имеется основной файл main.py. Но, хотелось бы, чтобы обработчики, события кнопок и т.п., каждой страницы(stackedWidget-а) были в разных файлах, в отдельной папке. Страницы в stackedWidget-е page1, page2, page3.
Дерево каталога должно выглядеть так:
-main.py
handler/
- page1.py
- page2.py
- page3.py
И, чтобы в этих page*.py были обработчики кнопок, событии. Пример содержимого page*.py:
...
...
...
self.btn_save.clicked.connect(self.buttonClick_Save)
def buttonClick_Save(self):
....
main.py:
2. Python 3.8.5
3. PySide 6
Доброго времени суток, делаю программу с несколькими страницами, при помощи компонента stackedWidget. Имеется основной файл main.py. Но, хотелось бы, чтобы обработчики, события кнопок и т.п., каждой страницы(stackedWidget-а) были в разных файлах, в отдельной папке. Страницы в stackedWidget-е page1, page2, page3.
Дерево каталога должно выглядеть так:
-main.py
handler/
- page1.py
- page2.py
- page3.py
И, чтобы в этих page*.py были обработчики кнопок, событии. Пример содержимого page*.py:
...
...
...
self.btn_save.clicked.connect(self.buttonClick_Save)
def buttonClick_Save(self):
....
main.py:
Python:
import sys
import platform
from modules import *
from widgets import *
widgets = None
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
global widgets
widgets = self.ui
Settings.ENABLE_CUSTOM_TITLE_BAR = True
self.setWindowTitle(title)
widgets.titleRightInfo.setText(description)
widgets.toggleButton.clicked.connect(lambda: UIFunctions.toggleMenu(self, True))
UIFunctions.uiDefinitions(self)
widgets.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
widgets.btn_home.clicked.connect(self.buttonClick)
widgets.btn_widgets.clicked.connect(self.buttonClick)
widgets.btn_new.clicked.connect(self.buttonClick)
widgets.btn_save.clicked.connect(self.buttonClick)
def openCloseLeftBox():
UIFunctions.toggleLeftBox(self, True)
widgets.toggleLeftBox.clicked.connect(openCloseLeftBox)
widgets.extraCloseColumnBtn.clicked.connect(openCloseLeftBox)
def openCloseRightBox():
UIFunctions.toggleRightBox(self, True)
widgets.settingsTopBtn.clicked.connect(openCloseRightBox)
self.show()
widgets.stackedWidget.setCurrentWidget(widgets.home)
widgets.btn_home.setStyleSheet(UIFunctions.selectMenu(widgets.btn_home.styleSheet()))
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setWindowIcon(QIcon("icon.ico"))
window = MainWindow()
sys.exit(app.exec_())