se_ga f7fab0f636 Добавлен Конфигуратор v2
Собирает конфиг в один json файл и шифрует ключом FISHKArrCONFIG
2026-03-16 14:12:17 +03:00

55 lines
2.0 KiB
Python

from PySide6.QtWidgets import (
QWidget, QVBoxLayout, QGroupBox,
QRadioButton, QButtonGroup
)
from PySide6.QtCore import Signal
class HopperSensorWidget(QWidget):
"""Виджет для выбора типа датчика хоппера"""
valueChanged = Signal()
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
layout = QVBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
group_box = QGroupBox("Тип датчика хоппера")
group_layout = QVBoxLayout()
self.button_group = QButtonGroup(self)
self.radio_normally_open = QRadioButton("Нормально разомкнутый (по умолчанию)(китайский)")
self.radio_normally_open.setChecked(True)
self.button_group.addButton(self.radio_normally_open, 1)
self.radio_normally_closed = QRadioButton("Нормально замкнутый (русский)")
self.button_group.addButton(self.radio_normally_closed, 2)
group_layout.addWidget(self.radio_normally_open)
group_layout.addWidget(self.radio_normally_closed)
group_box.setLayout(group_layout)
layout.addWidget(group_box)
self.button_group.buttonToggled.connect(self.on_value_changed)
self.setLayout(layout)
def on_value_changed(self):
"""Обработчик изменения значения"""
self.valueChanged.emit()
def get_value(self) -> str:
"""Возвращает '0' для нормально разомкнутого, '1' для нормально замкнутого"""
return '0' if self.button_group.checkedId() == 1 else '1'
def set_value(self, value: str):
"""Устанавливает значение из строки '0' или '1'"""
if value == '0':
self.radio_normally_open.setChecked(True)
else:
self.radio_normally_closed.setChecked(True)