57 lines
1.6 KiB
Python

from PyQt5.QtWidgets import (
QVBoxLayout,
QHBoxLayout,
QLabel,
QPushButton,
QLineEdit,
QWidget,
)
from PyQt5.QtCore import pyqtSignal
class FocusNotifyingLineEdit(QLineEdit):
focused_in = pyqtSignal()
def focusInEvent(self, event):
self.focused_in.emit()
super(FocusNotifyingLineEdit, self).focusInEvent(event)
class GraphRequester(QWidget):
LineEditGraf: FocusNotifyingLineEdit
LineEditX: FocusNotifyingLineEdit
LineEditY: FocusNotifyingLineEdit
def __init__(self, nomer_grafika=1):
super().__init__()
layout = QVBoxLayout(self)
layout_x = QHBoxLayout()
layout_y = QHBoxLayout()
layout_close_and_name = QHBoxLayout()
self.LineEditGraf = FocusNotifyingLineEdit(f"график {nomer_grafika}")
NameX = QLabel("X")
NameY = QLabel("Y")
Name_Close = QPushButton("x")
self.LineEditX = FocusNotifyingLineEdit()
self.LineEditY = FocusNotifyingLineEdit()
layout_x.addWidget(NameX)
layout_x.addWidget(self.LineEditX)
layout_y.addWidget(NameY)
layout_y.addWidget(self.LineEditY)
Name_Close.clicked.connect(lambda: self.setParent(None))
layout_close_and_name.addWidget(self.LineEditGraf)
layout_close_and_name.addWidget(Name_Close)
layout.addLayout(layout_close_and_name) # Вложения названия и закрыть
layout.addLayout(layout_y) # Вложение
layout.addLayout(layout_x) # Вложение
layout.setContentsMargins(0, 0, 0, 0)
layout.addStretch(1)