from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLineEdit, QLabel, QFrame
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(600, 200, 500, 300)
self.setWindowTitle("Конвертор")
hbox = QVBoxLayout()
vbox = QHBoxLayout()
u = QVBoxLayout()
man = QHBoxLayout()
men = QHBoxLayout()
beb = QHBoxLayout()
n = QLabel("Введите курс, цену в долларах и щёлкните на кнопке Пересчёт")
self.a = QLineEdit()
self.b = QLineEdit()
ga = QLabel("Цена (USD)")
gb = QLabel("Курс (RUB/USD)")
btn1 = QPushButton("YEP?")
btn2 = QPushButton("YEP.")
self.fr = QLabel("yep-yep!")
beb.addSpacing(5)
beb.addWidget(btn1)
beb.addSpacing(5)
beb.addWidget(btn2)
beb.addSpacing(180)
man.addWidget(self.a)
man.addWidget(ga)
men.addWidget(self.b)
men.addWidget(gb)
u.addLayout(man)
u.addSpacing(10)
u.addLayout(men)
hbox.addSpacing(50)
hbox.addWidget(n)
hbox.addLayout(u)
hbox.addWidget(self.fr)
hbox.addLayout(beb)
hbox.addSpacing(50)
vbox.addSpacing(30)
vbox.addLayout(hbox)
vbox.addSpacing(30)
frame = QFrame()
frame.setLayout(vbox)
frame.setStyleSheet("""
QFrame {
border: 1px solid blue;
border-radius: 12px;
background-color: #B0E0E6;
}
QLabel {
color: #003366;
}
QPushButton {
color: white;
background-color: #4682B4;
border: 1px solid #003366;
border-radius: 6px;
padding: 4px 10px;
}
QPushButton:hover {
background-color: #5A9BD5;
}
QPushButton:pressed {
background-color: #003366;
}
""")
outer = QVBoxLayout()
outer.addWidget(frame)
self.setLayout(outer)
btn1.clicked.connect(self.on_convert)
btn2.clicked.connect(self.close)
def on_convert(self):
text_a = self.a.text().strip().replace(",", ".")
text_b = self.b.text().strip().replace(",", ".")
if not text_a or not text_b:
self.fr.setText("Введите оба числа!")
return
try:
anum = float(text_a)
bnum = float(text_b)
except ValueError:
self.fr.setText("Это не числа!")
return
rq = bnum * anum
self.fr.setText(f"yep-yep! {rq:.2f} RUB")
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec())