Всем привет и с наступающими!
Понимаю, что в свем проекте наворотил все и сразу, типа - пытаюсь получить сумму "а" и "2" и удивляюсь, почему ошибка))
Но , к сути... В самое начало.
Есть два файла - условно назовем их Primary.py и Secondary.py
Файл Secondary.py хочу написать как модуль, чтобы можно было его вызвать в Primary.py
Secondary.py:
Файл Primary.py:
В таком виде оно работает, но...
1. Если я импортирую seconrary ( в котором уже импортирован PyQt5 ), то почему в Primary его надо импортировать повторно (как и sys)
2. Как избежать такой громоздкости (хотя это наверное моя криворукость).?
Если можно, прошу показать правильную модель на этом конкретном примере.
Типа - что должно быть в модуле, и в основном файле
Понимаю, что в свем проекте наворотил все и сразу, типа - пытаюсь получить сумму "а" и "2" и удивляюсь, почему ошибка))
Но , к сути... В самое начало.
Есть два файла - условно назовем их Primary.py и Secondary.py
Файл Secondary.py хочу написать как модуль, чтобы можно было его вызвать в Primary.py
Secondary.py:
Python:
# -*- coding: utf-8 - * -
import sys
from PyQt5 import QtCore, QtWidgets, QtGui
import images #файл дизайна
class Images(QtWidgets.QMainWindow, images.Ui_MainWindow):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.setupUi(self)
def run_module_images(caption):
imagin = QtWidgets.QApplication(sys.argv)
window = Images() # Создаем экземпляр класса
window.setWindowTitle(caption)
if caption == "Join Images":
window.cnsPic4.setVisible(False)
elif caption == "Choise Image":
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/Icon/Choise.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
window.setWindowIcon(icon)
window.resize(246, 570)
window.cnsList1.resize(230, 400)
window.cnsPic4.setVisible(True)
window.show() # Отображаем окно
sys.exit(imagin.exec_()) # Запускаем цикл обработки событий
if __name__ == '__main__':
run_module_images("Join Images")
Файл Primary.py:
Python:
import sys
from PyQt5 import QtWidgets, QtGui
from seconrary import Images
imagin = QtWidgets.QApplication(sys.argv)
window = Images() # Создаем экземпляр класса
window.setWindowTitle("Choise Image")
if window.windowTitle() == "Join Images":
window.cnsPic4.setVisible(False)
elif window.windowTitle() == "Choise Image":
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/Icon/Choise.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
window.setWindowIcon(icon)
window.resize(246, 570)
window.cnsList1.resize(230, 400)
window.cnsPic4.setVisible(True)
window.show() # Отображаем окно
sys.exit(imagin.exec_()) # Запускаем цикл обработки событий
В таком виде оно работает, но...
1. Если я импортирую seconrary ( в котором уже импортирован PyQt5 ), то почему в Primary его надо импортировать повторно (как и sys)
2. Как избежать такой громоздкости (хотя это наверное моя криворукость).?
Если можно, прошу показать правильную модель на этом конкретном примере.
Типа - что должно быть в модуле, и в основном файле