Импортирование классов и их взаимодействие в основном файле (python3, PyQt5)
Помогите, пожалуйста, разобраться с импортированием классов.
В программе есть Основное окно с выбором разных программ (кнопки с открыванием других окон) и, собственно, окна других Программ (в примере будет только одна программа - "Программа Kata").
Основное окно - это основной файл, каждая другое окно - тоже отдельный файл. В основной файл я импортирую классы из файлов остальных программ.
В Программе Kata есть два окна. Окно для оператора ввода и окно для отображения информации, введенной в окне ввода оператора.
Для каждого окна по два класса. Первые классы - это UI из Qt Designer, Вторые классы - расчеты.
Основной файл я назвал "mail", файл с Программой Kata - "Kata"
Я смог составить код так, что у меня может запуститься программа, производится расчет по нажатию кнопок и отображение результата в Окне оператора ввода, но Окно для отображения информации данные не отправляются.
Помогите, пожалуйста, разобраться
Файл "mail"
from PyQt5 import QtCore, QtGui, QtWidgets
from Kata import KataMainWindow
from Kata import KataMainWindow_Ui
from Kata import KataSecondWindow
from Kata import KataSecondWindow_Ui
# Create application
app = QtWidgets.QApplication(sys.argv)
# Create form and init UI Kata
Form11 = QtWidgets.QWidget()
ui_kata12 = KataMainWindow_Ui()
ui_kata12.setupUi(Form11)
ui_kata11 = KataMainWindow()
ui_kata11.setupUi(Form11)
Form12 = QtWidgets.QWidget()
ui_kata21 = KataSecondWindow_Ui()
ui_kata21.setupUi_Kata2(Form12)
ui_kata22 = KataSecondWindow()
ui_kata22.setupUi_Kata2(Form12)
class Ui_Form0(object):
def setupUi0(self, Form0):
Form0.setObjectName("Form00")
Form0.setEnabled(True)
Form0.resize(400, 200)
Form0.setWindowOpacity(1.0)
Form0.setToolTipDuration(-1)
Form0.setStatusTip("")
Form0.setStyleSheet("background-color: rgb(255, 255, 255);")
self.pushButton_1 = QtWidgets.QPushButton(Form0)
self.pushButton_1.setGeometry(QtCore.QRect(240, 130, 75, 25))
self.pushButton_1.setObjectName("pushButton_1")
self.retranslateUi(Form0)
QtCore.QMetaObject.connectSlotsByName(Form0)
self.pushButton_1.clicked.connect(self.passinon)
ui_kata11.Calc_Button.clicked.connect(ui_kata11.passingInformation)
ui_kata11.Clear_Button.clicked.connect(ui_kata11.clear_Data)
def passinon(self):
Form12.show()
Form11.show()
def retranslateUi(self, Form0):
_translate = QtCore.QCoreApplication.translate
Form0.setWindowTitle(_translate("Form", "Form"))
self.pushButton_1.setText(_translate("Form", "Ката"))
# Run main loop
if __name__ == "__main__":
Form0 = QtWidgets.QWidget()
ui0 = Ui_Form0()
ui0.setupUi0(Form0)
Form0.show()
sys.exit(app.exec_())
Файл "Kata"
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton, QVBoxLayout, QLabel
from PyQt5.QtWidgets import QWidget
from PyQt5.QtCore import Qt, QTimer
class KataSecondWindow_Ui(object):
def setupUi_Kata2(self, Form12):
Form12.setObjectName("Form")
Form12.setEnabled(True)
Form12.resize(1920, 1080)
Form12.setWindowOpacity(1.0)
Form12.setStyleSheet("background-color: rgb(255, 255, 255);")
self.label_sum2 = QtWidgets.QLabel(Form12)
self.input_referee1 = QtWidgets.QLabel(Form12)
self.input_referee2 = QtWidgets.QLabel(Form12)
self.input_referee3 = QtWidgets.QLabel(Form12)
self.label_1 = QtWidgets.QLabel(Form12)
self.label_2 = QtWidgets.QLabel(Form12)
self.label_3 = QtWidgets.QLabel(Form12)
self.label_sum2.setGeometry(QtCore.QRect(1090, 50, 760, 550))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.label_sum2.sizePolicy().hasHeightForWidth())
self.label_sum2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(250)
self.label_sum2.setFont(font)
self.label_sum2.setAutoFillBackground(False)
self.label_sum2.setStyleSheet("background-color: white;")
self.label_sum2.setFrameShape(QtWidgets.QFrame.Box)
self.label_sum2.setFrameShadow(QtWidgets.QFrame.Plain)
self.label_sum2.setLineWidth(1)
self.label_sum2.setMidLineWidth(0)
self.label_sum2.setScaledContents(False)
self.label_sum2.setAlignment(QtCore.Qt.AlignCenter)
self.label_sum2.setObjectName("label_sum2")
self.label_1.setEnabled(True)
self.label_1.setGeometry(QtCore.QRect(70, 680, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_1.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_1.setFont(font)
self.label_1.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_1.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_1.setObjectName("label_1")
self.label_2.setGeometry(QtCore.QRect(325, 680, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_2.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_2.setFont(font)
self.label_2.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_2.setObjectName("label_2")
self.label_3.setGeometry(QtCore.QRect(580, 680, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_3.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_3.setFont(font)
self.label_3.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_3.setObjectName("label_3")
self.input_referee1.setGeometry(QtCore.QRect(70, 740, 250, 250))
self.input_referee1.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee1.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee1.setObjectName("input_referee1")
self.input_referee2.setGeometry(QtCore.QRect(325, 740, 250, 250))
self.input_referee2.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee2.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee2.setObjectName("input_referee2")
self.input_referee3.setGeometry(QtCore.QRect(580, 740, 250, 250))
self.input_referee3.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee3.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee3.setObjectName("input_referee3")
self.retranslateUi(Form12)
QtCore.QMetaObject.connectSlotsByName(Form12)
def retranslateUi(self, Form12):
_translate = QtCore.QCoreApplication.translate
Form12.setWindowTitle(_translate("Form12", " "))
self.label_sum2.setText(_translate("Form12", ""))
self.label_1.setText(_translate("Form12", "1"))
self.label_3.setText(_translate("Form12", "3"))
self.label_2.setText(_translate("Form12", "2"))
self.input_referee2.setText(_translate("Form12", ""))
self.input_referee1.setText(_translate("Form12", ""))
self.input_referee3.setText(_translate("Form12", ""))
class KataSecondWindow(QWidget, KataSecondWindow_Ui):
def __init__(self):
super().__init__()
self.setupUi_Kata2(self)
def Extream_Value(self):
q1 = self.input_referee1.text()
q2 = self.input_referee2.text()
q3 = self.input_referee3.text()
l = [q1, q2, q3]
m = [num for num in l if num != '']
try:
if min(m) == self.input_referee1.text():
self.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif min(m) == self.input_referee2.text():
self.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif min(m) == self.input_referee3.text():
self.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
else:
pass
if max(m) == self.input_referee2.text():
self.label_2.setText('2')
self.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif max(m) == self.input_referee1.text():
self.label_1.setText('1')
self.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif max(m) == self.input_referee3.text():
self.label_3.setText('3')
self.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
else:
pass
except ValueError:
self.label_1.setText('1')
self.label_2.setText('2')
self.label_3.setText('3')
class KataMainWindow_Ui(object):
def setupUi(self, Form11):
Form11.setObjectName("Form2")
Form11.setEnabled(True)
Form11.resize(901, 500)
Form11.setWindowOpacity(1.0)
Form11.setToolTipDuration(-1)
Form11.setStatusTip("")
Form11.setStyleSheet("background-color: rgb(255, 255, 255);")
self.MenuButton = QtWidgets.QPushButton(Form11)
self.MenuButton.setGeometry(QtCore.QRect(710, 10, 75, 20))
self.MenuButton.setObjectName("MenuButton")
self.KumiteButton = QtWidgets.QPushButton(Form11)
self.KumiteButton.setGeometry(QtCore.QRect(800, 10, 75, 20))
self.KumiteButton.setObjectName("KumiteButton")
self.Calc_Button = QtWidgets.QPushButton(Form11)
self.Calc_Button.setGeometry(QtCore.QRect(60, 410, 130, 30))
self.Calc_Button.setStyleSheet("background-color: rgb(62, 106, 225); font-family: Gotham;"
"color: white; font-size: 15pt;")
self.Calc_Button.setObjectName("Calc_Button")
self.Clear_Button = QtWidgets.QPushButton(Form11)
self.Clear_Button.setGeometry(QtCore.QRect(710, 410, 130, 30))
self.Clear_Button.setStyleSheet("background-color: rgb(62, 106, 225); font-family: Gotham;"
"color: white; font-size: 15pt;")
self.Clear_Button.setObjectName("Clear_Button")
self.heading_sum = QtWidgets.QLabel(Form11)
self.heading_sum.setGeometry(QtCore.QRect(110, 0, 200, 20))
self.heading_sum.setStyleSheet("font-family: Gotham; font-weight: bold; font-size: 15pt;")
self.heading_sum.setObjectName("heading_sum")
self.label_sum = QtWidgets.QLabel(Form11)
self.label_sum.setGeometry(QtCore.QRect(60, 20, 300, 130))
self.label_sum.setStyleSheet("font-family: Gotham; color: grey; font-size: 15pt;")
self.label_sum.setObjectName("label_sum")
self.referee_point = QtWidgets.QLabel(Form11)
self.referee_point.setGeometry(QtCore.QRect(100, 180, 700, 90))
self.referee_point.setAlignment(QtCore.Qt.AlignCenter)
self.referee_point.setStyleSheet("font: 50pt;")
self.referee_point.setObjectName("referee_point")
self.label_help = QtWidgets.QLabel(Form11)
self.label_help.setGeometry(QtCore.QRect(335, 367, 250, 13))
self.label_help.setStyleSheet("color: grey; font-size: 7;")
self.label_help.setObjectName("label_help")
self.lineEdit_referee1 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee1.setGeometry(QtCore.QRect(70, 300, 100, 60))
self.lineEdit_referee1.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee1.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee1.setInputMask('9,9')
self.lineEdit_referee1.setText(str('0,0'))
self.lineEdit_referee1.setObjectName("lineEdit_referee1")
self.lineEdit_referee2 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee2.setGeometry(QtCore.QRect(180, 300, 100, 60))
self.lineEdit_referee2.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee2.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee2.setInputMask('9,9')
self.lineEdit_referee2.setText(str('0,0'))
self.lineEdit_referee2.setObjectName("lineEdit_referee2")
self.lineEdit_referee3 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee3.setGeometry(QtCore.QRect(290, 300, 100, 60))
self.lineEdit_referee3.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee3.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee3.setInputMask('9,9')
self.lineEdit_referee3.setText(str('0,0'))
self.lineEdit_referee3.setObjectName("lineEdit_referee3")
self.label_1 = QtWidgets.QLabel(Form11)
self.label_1.setGeometry(QtCore.QRect(70, 280, 100, 13))
self.label_1.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_1.setAlignment(QtCore.Qt.AlignCenter)
self.label_1.setObjectName("label_1")
self.label_2 = QtWidgets.QLabel(Form11)
self.label_2.setGeometry(QtCore.QRect(180, 280, 100, 13))
self.label_2.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(Form11)
self.label_3.setGeometry(QtCore.QRect(290, 280, 100, 13))
self.label_3.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("label_3")
self.retranslateUi(Form11)
QtCore.QMetaObject.connectSlotsByName(Form11)
def retranslateUi(self, Form11):
_translate = QtCore.QCoreApplication.translate
Form11.setWindowTitle(_translate("Form11", "Form"))
self.MenuButton.setText(_translate("Form11", "Главное меню"))
self.KumiteButton.setText(_translate("Form11", "Кумите"))
self.Clear_Button.setText(_translate("Form11", "Очистить"))
self.Calc_Button.setText(_translate("Form11", "Рассчитать"))
self.heading_sum.setText(_translate("Form11", "Сумма балов"))
self.label_sum.setText(_translate("Form11", "Нажми кнопку «Рассчитать»"))
self.referee_point.setText(_translate("Form11", "Оценки судей"))
self.label_help.setText(_translate("Form11", "Переключайся между судьями кнопкой Tab"))
self.label_1.setText(_translate("Form11", "1 судья"))
self.label_2.setText(_translate("Form11", "2 судья"))
self.label_3.setText(_translate("Form11", "3 судья"))
class KataMainWindow(QWidget, KataMainWindow_Ui):
def __init__(self):
super().__init__()
self.setupUi(self)
self.KataSecondWindow = KataSecondWindow()
self.Calc_Button.clicked.connect(self.passingInformation)
self.Clear_Button.clicked.connect(self.clear_Data)
def passingInformation(self):
self.KataSecondWindow.label_1.setText('1')
self.KataSecondWindow.label_2.setText('2')
self.KataSecondWindow.label_3.setText('3')
self.label_sum.setStyleSheet('font-family: Gotham; font: 90pt; color: rgb(0, 178, 80);')
self.KataSecondWindow.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
self.KataSecondWindow.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
self.KataSecondWindow.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
q1 = self.lineEdit_referee1.text()
q2 = self.lineEdit_referee2.text()
q3 = self.lineEdit_referee3.text()
l = [q1, q2, q3]
e = []
for n in l:
if n == ',':
e.append(0.0)
else:
e.append(n.replace(",", "."))
l = e
newlst = [float(x) for x in l]
m = newlst
m = [num for num in m if num != 0]
m_tuple = tuple(newlst)
if len(m) < 3:
self.label_sum.setStyleSheet("font-family: Gotham; font: 15pt; color: red")
self.label_sum.setText('введи оценки судей')
self.KataSecondWindow.label_sum2.setText('')
else:
m.remove(max(m))
m.remove(min(m))
m1 = round(sum(m), 1) # +++ round
m2 = str(m1).replace(".", ",")
self.label_sum.setText(m2)
l1 = str(m_tuple[0])
self.lineEdit_referee1.setText(l1)
self.KataSecondWindow.label_sum2.setText(self.label_sum.text().replace(",", "."))
n_tuple = list(m_tuple)
for num in range(len(n_tuple)):
if n_tuple[0] == 0.0:
n_tuple[0] = ''
self.KataSecondWindow.label_1.setText('')
elif n_tuple[1] == 0.0:
n_tuple[1] = ''
self.KataSecondWindow.label_2.setText('')
elif n_tuple[2] == 0.0:
n_tuple[2] = ''
self.KataSecondWindow.label_3.setText('')
self.KataSecondWindow.input_referee1.setText(str(n_tuple[0]))
self.KataSecondWindow.input_referee2.setText(str(n_tuple[1]))
self.KataSecondWindow.input_referee3.setText(str(n_tuple[2]))
self.KataSecondWindow.Extream_Value()
def clear_Data(self):
self.label_sum.setText("Нажми кнопку «Рассчитать»")
self.label_sum.setStyleSheet("font-family: Gotham; color: grey; font-size: 15pt;")
self.lineEdit_referee1.setText('0,0')
self.lineEdit_referee2.setText('0,0')
self.lineEdit_referee3.setText('0,0')
self.KataSecondWindow.label_sum2.setText('')
self.KataSecondWindow.input_referee1.setText('')
self.KataSecondWindow.input_referee2.setText('')
self.KataSecondWindow.input_referee3.setText('')
self.KataSecondWindow.label_1.setText('1')
self.KataSecondWindow.label_2.setText('2')
self.KataSecondWindow.label_3.setText('3')
В файле "Kata" не срабатывает строчка:
320 - отправка текста в Окно для отображения информации в суммой баллов
326, 329, 332 - заменяет текст в Окне для отображения информации с "1, 2, 3" на пустоту - ""
334, 335, 336 - отправка текста в Окно для отображения информации введенных в окне оператора ввода
347 - 353 - должны удаляться значения, введенные ранее в Окне для отображения информации
Ответы (1 шт):
Я отметил для вас строки, в которые внес изменения. Я не проверял вашу логику расчетов.
q1260383_mail.py
from PyQt5 import QtCore, QtGui, QtWidgets
from q1260383_Kata import KataMainWindow # !!!
#from q1260383_Kata import KataMainWindow_Ui
#from q1260383_Kata import KataSecondWindow
#from q1260383_Kata import KataSecondWindow_Ui
''' нет, нет и еще раз НЕТ
# Create application
#app = QtWidgets.QApplication(sys.argv)
# Create form and init UI Kata
Form11 = QtWidgets.QWidget()
ui_kata12 = KataMainWindow_Ui()
ui_kata12.setupUi(Form11)
ui_kata11 = KataMainWindow()
ui_kata11.setupUi(Form11)
Form12 = QtWidgets.QWidget()
ui_kata21 = KataSecondWindow_Ui()
ui_kata21.setupUi_Kata2(Form12)
ui_kata22 = KataSecondWindow()
ui_kata22.setupUi_Kata2(Form12)
'''
class Ui_Form0(object):
def setupUi0(self, Form0):
Form0.setObjectName("Form00")
Form0.setEnabled(True)
Form0.resize(400, 200)
Form0.setWindowOpacity(1.0)
Form0.setToolTipDuration(-1)
Form0.setStatusTip("")
Form0.setStyleSheet("background-color: rgb(255, 255, 255);")
self.pushButton_1 = QtWidgets.QPushButton(Form0)
self.pushButton_1.setGeometry(QtCore.QRect(240, 130, 75, 25))
self.pushButton_1.setObjectName("pushButton_1")
self.retranslateUi(Form0)
QtCore.QMetaObject.connectSlotsByName(Form0)
# НИКОГДА НЕ изменяйте код, сгенерированный Qt Designer.
# self.pushButton_1.clicked.connect(self.passinon)
# ui_kata11.Calc_Button.clicked.connect(ui_kata11.passingInformation)
# ui_kata11.Clear_Button.clicked.connect(ui_kata11.clear_Data)
# def passinon(self):
# Form12.show()
# Form11.show()
def retranslateUi(self, Form0):
_translate = QtCore.QCoreApplication.translate
Form0.setWindowTitle(_translate("Form", "Form"))
self.pushButton_1.setText(_translate("Form", "Ката"))
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
# Создайте другой класс, который наследуется от соответствующего виджета,
# и используйте созданный класс для его заполнения.
class MailWindow(QtWidgets.QWidget, Ui_Form0):
def __init__(self):
super().__init__()
self.setupUi0(self)
self.pushButton_1.clicked.connect(self.passinon)
self.ui_kata11 = KataMainWindow()
self.ui_kata11.Calc_Button.clicked.connect(self.ui_kata11.passingInformation)
self.ui_kata11.Clear_Button.clicked.connect(self.ui_kata11.clear_Data)
def passinon(self):
self.ui_kata11.show()
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
# Form0 = QtWidgets.QWidget()
w = MailWindow()
w.show()
# ui0 = Ui_Form0()
# ui0.setupUi0(Form0)
# Form0.show()
sys.exit(app.exec_())
q1260383_Kata.py
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton, QVBoxLayout, QLabel
from PyQt5.QtWidgets import QWidget
from PyQt5.QtCore import Qt, QTimer
class KataSecondWindow_Ui(object):
def setupUi_Kata2(self, Form12):
Form12.setObjectName("Form")
Form12.setEnabled(True)
# Form12.resize(1920, 1080)
Form12.resize(1220, 680) # поставьте свое
Form12.setWindowOpacity(1.0)
Form12.setStyleSheet("background-color: rgb(255, 255, 255);")
self.label_sum2 = QtWidgets.QLabel(Form12)
self.input_referee1 = QtWidgets.QLabel(Form12)
self.input_referee2 = QtWidgets.QLabel(Form12)
self.input_referee3 = QtWidgets.QLabel(Form12)
self.label_1 = QtWidgets.QLabel(Form12)
self.label_2 = QtWidgets.QLabel(Form12)
self.label_3 = QtWidgets.QLabel(Form12)
self.label_sum2.setGeometry(QtCore.QRect(190, 50, 760, 550))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.label_sum2.sizePolicy().hasHeightForWidth())
self.label_sum2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(250)
self.label_sum2.setFont(font)
self.label_sum2.setAutoFillBackground(False)
self.label_sum2.setStyleSheet("background-color: white;")
self.label_sum2.setFrameShape(QtWidgets.QFrame.Box)
self.label_sum2.setFrameShadow(QtWidgets.QFrame.Plain)
self.label_sum2.setLineWidth(1)
self.label_sum2.setMidLineWidth(0)
self.label_sum2.setScaledContents(False)
self.label_sum2.setAlignment(QtCore.Qt.AlignCenter)
self.label_sum2.setObjectName("label_sum2")
self.label_1.setEnabled(True)
self.label_1.setGeometry(QtCore.QRect(70, 280, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_1.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_1.setFont(font)
self.label_1.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_1.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_1.setObjectName("label_1")
self.label_2.setGeometry(QtCore.QRect(325, 280, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_2.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_2.setFont(font)
self.label_2.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_2.setObjectName("label_2")
self.label_3.setGeometry(QtCore.QRect(580, 280, 250, 50))
font = QtGui.QFont()
font.setFamily("Gotham")
font.setPointSize(26)
self.label_3.setStyleSheet("color: grey")
font.setBold(False)
font.setWeight(50)
self.label_3.setFont(font)
self.label_3.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter)
self.label_3.setObjectName("label_3")
self.input_referee1.setGeometry(QtCore.QRect(70, 340, 250, 250))
self.input_referee1.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee1.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee1.setObjectName("input_referee1")
self.input_referee2.setGeometry(QtCore.QRect(325, 340, 250, 250))
self.input_referee2.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee2.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee2.setObjectName("input_referee2")
self.input_referee3.setGeometry(QtCore.QRect(580, 340, 250, 250))
self.input_referee3.setFrameShape(QtWidgets.QFrame.Box)
self.input_referee3.setAlignment(QtCore.Qt.AlignCenter)
self.input_referee3.setObjectName("input_referee3")
self.retranslateUi(Form12)
QtCore.QMetaObject.connectSlotsByName(Form12)
def retranslateUi(self, Form12):
_translate = QtCore.QCoreApplication.translate
Form12.setWindowTitle(_translate("Form12", " "))
self.label_sum2.setText(_translate("Form12", "sum"))
self.label_1.setText(_translate("Form12", "1"))
self.label_3.setText(_translate("Form12", "3"))
self.label_2.setText(_translate("Form12", "2"))
self.input_referee2.setText(_translate("Form12", "referee2"))
self.input_referee1.setText(_translate("Form12", "referee1"))
self.input_referee3.setText(_translate("Form12", "referee3"))
class KataSecondWindow(QWidget, KataSecondWindow_Ui):
def __init__(self):
super().__init__()
self.setupUi_Kata2(self)
self.setWindowTitle('Kata Second Window')
layout = QtWidgets.QGridLayout(self)
layout.addWidget(self.label_1, 0, 0)
layout.addWidget(self.label_2, 0, 1)
layout.addWidget(self.label_3, 0, 2)
layout.addWidget(self.input_referee1, 1, 0)
layout.addWidget(self.input_referee2, 1, 1)
layout.addWidget(self.input_referee3, 1, 2)
layout.addWidget(self.label_sum2, 0, 3, 3, 3)
''' что это ???
def Extream_Value(self):
q1 = self.input_referee1.text()
q2 = self.input_referee2.text()
q3 = self.input_referee3.text()
l = [q1, q2, q3]
m = [num for num in l if num != '']
try:
if min(m) == self.input_referee1.text():
self.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif min(m) == self.input_referee2.text():
self.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif min(m) == self.input_referee3.text():
self.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
else:
pass
if max(m) == self.input_referee2.text():
self.label_2.setText('2')
self.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif max(m) == self.input_referee1.text():
self.label_1.setText('1')
self.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
elif max(m) == self.input_referee3.text():
self.label_3.setText('3')
self.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: Grey; font-size: 100px; text-align : left")
else:
pass
except ValueError:
self.label_1.setText('1')
self.label_2.setText('2')
self.label_3.setText('3')
'''
class KataMainWindow_Ui(object):
def setupUi(self, Form11):
Form11.setObjectName("Form2")
Form11.setEnabled(True)
Form11.resize(901, 500)
Form11.setWindowOpacity(1.0)
Form11.setToolTipDuration(-1)
Form11.setStatusTip("")
Form11.setStyleSheet("background-color: rgb(255, 255, 255);")
self.MenuButton = QtWidgets.QPushButton(Form11)
self.MenuButton.setGeometry(QtCore.QRect(710, 10, 75, 20))
self.MenuButton.setObjectName("MenuButton")
self.KumiteButton = QtWidgets.QPushButton(Form11)
self.KumiteButton.setGeometry(QtCore.QRect(800, 10, 75, 20))
self.KumiteButton.setObjectName("KumiteButton")
self.Calc_Button = QtWidgets.QPushButton(Form11)
self.Calc_Button.setGeometry(QtCore.QRect(60, 410, 130, 30))
self.Calc_Button.setStyleSheet("background-color: rgb(62, 106, 225); font-family: Gotham;"
"color: white; font-size: 15pt;")
self.Calc_Button.setObjectName("Calc_Button")
self.Clear_Button = QtWidgets.QPushButton(Form11)
self.Clear_Button.setGeometry(QtCore.QRect(710, 410, 130, 30))
self.Clear_Button.setStyleSheet("background-color: rgb(62, 106, 225); font-family: Gotham;"
"color: white; font-size: 15pt;")
self.Clear_Button.setObjectName("Clear_Button")
self.heading_sum = QtWidgets.QLabel(Form11)
self.heading_sum.setGeometry(QtCore.QRect(110, 0, 200, 20))
self.heading_sum.setStyleSheet("font-family: Gotham; font-weight: bold; font-size: 15pt;")
self.heading_sum.setObjectName("heading_sum")
self.label_sum = QtWidgets.QLabel(Form11)
self.label_sum.setGeometry(QtCore.QRect(60, 20, 300, 130))
self.label_sum.setStyleSheet("font-family: Gotham; color: grey; font-size: 15pt;")
self.label_sum.setObjectName("label_sum")
self.referee_point = QtWidgets.QLabel(Form11)
self.referee_point.setGeometry(QtCore.QRect(100, 180, 700, 90))
self.referee_point.setAlignment(QtCore.Qt.AlignCenter)
self.referee_point.setStyleSheet("font: 50pt;")
self.referee_point.setObjectName("referee_point")
self.label_help = QtWidgets.QLabel(Form11)
self.label_help.setGeometry(QtCore.QRect(335, 367, 250, 13))
self.label_help.setStyleSheet("color: grey; font-size: 7;")
self.label_help.setObjectName("label_help")
self.lineEdit_referee1 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee1.setGeometry(QtCore.QRect(70, 300, 100, 60))
self.lineEdit_referee1.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee1.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee1.setInputMask('9,9')
self.lineEdit_referee1.setText(str('0,0'))
self.lineEdit_referee1.setObjectName("lineEdit_referee1")
self.lineEdit_referee2 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee2.setGeometry(QtCore.QRect(180, 300, 100, 60))
self.lineEdit_referee2.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee2.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee2.setInputMask('9,9')
self.lineEdit_referee2.setText(str('0,0'))
self.lineEdit_referee2.setObjectName("lineEdit_referee2")
self.lineEdit_referee3 = QtWidgets.QLineEdit(Form11)
self.lineEdit_referee3.setGeometry(QtCore.QRect(290, 300, 100, 60))
self.lineEdit_referee3.setStyleSheet("background-color: rgb(242, 242, 242); font-family: Gotham; font: 35pt;")
self.lineEdit_referee3.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_referee3.setInputMask('9,9')
self.lineEdit_referee3.setText(str('0,0'))
self.lineEdit_referee3.setObjectName("lineEdit_referee3")
self.label_1 = QtWidgets.QLabel(Form11)
self.label_1.setGeometry(QtCore.QRect(70, 280, 100, 13))
self.label_1.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_1.setAlignment(QtCore.Qt.AlignCenter)
self.label_1.setObjectName("label_1")
self.label_2 = QtWidgets.QLabel(Form11)
self.label_2.setGeometry(QtCore.QRect(180, 280, 100, 13))
self.label_2.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(Form11)
self.label_3.setGeometry(QtCore.QRect(290, 280, 100, 13))
self.label_3.setStyleSheet("color: grey; font-family: Gotham; font: 10pt;")
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("label_3")
self.retranslateUi(Form11)
QtCore.QMetaObject.connectSlotsByName(Form11)
def retranslateUi(self, Form11):
_translate = QtCore.QCoreApplication.translate
Form11.setWindowTitle(_translate("Form11", "Form"))
self.MenuButton.setText(_translate("Form11", "Главное меню"))
self.KumiteButton.setText(_translate("Form11", "Кумите"))
self.Clear_Button.setText(_translate("Form11", "Очистить"))
self.Calc_Button.setText(_translate("Form11", "Рассчитать"))
self.heading_sum.setText(_translate("Form11", "Сумма балов"))
self.label_sum.setText(_translate("Form11", "Нажми кнопку «Рассчитать»"))
self.referee_point.setText(_translate("Form11", "Оценки судей"))
self.label_help.setText(_translate("Form11", "Переключайся между судьями кнопкой Tab"))
self.label_1.setText(_translate("Form11", "1 судья"))
self.label_2.setText(_translate("Form11", "2 судья"))
self.label_3.setText(_translate("Form11", "3 судья"))
class KataMainWindow(QWidget, KataMainWindow_Ui):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle('Kata MainWindow')
#
# self.KataSecondWindow = KataSecondWindow()
# ^
# v
self.kataSecondWindow = KataSecondWindow()
# - self.Calc_Button.clicked.connect(self.passingInformation)
# - self.Clear_Button.clicked.connect(self.clear_Data)
def passingInformation(self):
''' ???
self.KataSecondWindow.label_1.setText('1')
self.KataSecondWindow.label_2.setText('2')
self.KataSecondWindow.label_3.setText('3')
'''
self.label_sum.setStyleSheet('font-family: Gotham; font: 90pt; color: rgb(0, 178, 80);')
self.kataSecondWindow.input_referee1.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
self.kataSecondWindow.input_referee2.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
self.kataSecondWindow.input_referee3.setStyleSheet(
"background-color: white; font-family: Gotham; color: black; font-size: 135px; text-align: left")
q1 = self.lineEdit_referee1.text()
q2 = self.lineEdit_referee2.text()
q3 = self.lineEdit_referee3.text()
l = [q1, q2, q3]
e = []
for n in l:
if n == ',':
e.append(0.0)
else:
e.append(n.replace(",", "."))
l = e
newlst = [float(x) for x in l]
m = newlst
m = [num for num in m if num != 0]
m_tuple = tuple(newlst)
if len(m) < 3:
self.label_sum.setStyleSheet("font-family: Gotham; font: 15pt; color: red")
self.label_sum.setText('введи оценки судей')
self.kataSecondWindow.hide()
return
# - self.KataSecondWindow.label_sum2.setText('')
else:
m.remove(max(m))
m.remove(min(m))
m1 = round(sum(m), 1) # +++ round
m2 = str(m1).replace(".", ",")
self.label_sum.setText(m2)
l1 = str(m_tuple[0])
self.lineEdit_referee1.setText(l1)
# - self.KataSecondWindow.label_sum2.setText(self.label_sum.text().replace(",", "."))
n_tuple = list(m_tuple)
for num in range(len(n_tuple)):
if n_tuple[0] == 0.0:
n_tuple[0] = ''
# - self.KataSecondWindow.label_1.setText('')
elif n_tuple[1] == 0.0:
n_tuple[1] = ''
# - self.KataSecondWindow.label_2.setText('')
elif n_tuple[2] == 0.0:
n_tuple[2] = ''
# - self.KataSecondWindow.label_3.setText('')
# v
self.kataSecondWindow.input_referee1.setText(str(n_tuple[0]))
self.kataSecondWindow.input_referee2.setText(str(n_tuple[1]))
self.kataSecondWindow.input_referee3.setText(str(n_tuple[2]))
# - self.KataSecondWindow.Extream_Value()
self.kataSecondWindow.label_sum2.setText(self.label_sum.text().replace(",", "."))
# Внимание
self.kataSecondWindow.show() # +++
def clear_Data(self):
self.label_sum.setText("Нажми кнопку «Рассчитать»")
self.label_sum.setStyleSheet("font-family: Gotham; color: grey; font-size: 15pt;")
self.lineEdit_referee1.setText('0,0')
self.lineEdit_referee2.setText('0,0')
self.lineEdit_referee3.setText('0,0')
# Внимание
self.kataSecondWindow.hide() # +++
''' ???
self.KataSecondWindow.label_sum2.setText('')
self.KataSecondWindow.input_referee1.setText('')
self.KataSecondWindow.input_referee2.setText('')
self.KataSecondWindow.input_referee3.setText('')
self.KataSecondWindow.label_1.setText('1')
self.KataSecondWindow.label_2.setText('2')
self.KataSecondWindow.label_3.setText('3')
'''
