modbus_test/gui/filename.py

56 lines
1.5 KiB
Python

import time
from PyQt6.QtWidgets import (
QWidget,
QVBoxLayout,
QLabel,
QRadioButton,
QPushButton,
QButtonGroup,
)
from PyQt6.QtCore import Qt, QTimer
from logger import logger
class ChangeFile(QWidget):
def __init__(self, files, getFilename, setFilename):
super().__init__()
self.files = files or []
self.getFilename = getFilename
self.setFilename = setFilename
self.initUI()
self.old_status = None
self.counter = 0
def initUI(self):
self.layout = QVBoxLayout()
self.fileLabel = QLabel("Выберите файл")
self.layout.addWidget(self.fileLabel)
self.buttonGroup = QButtonGroup(self)
self.fileRadio = []
for i, r in enumerate(self.files):
radioButton = QRadioButton(r)
self.buttonGroup.addButton(radioButton, i)
self.fileRadio.append(radioButton)
self.layout.addWidget(radioButton)
self.setButton = QPushButton("Указать")
self.setButton.clicked.connect(self.setFilenameFunc)
self.layout.addWidget(self.setButton)
self.setLayout(self.layout)
def setFilenameFunc(self):
selectedId = self.buttonGroup.checkedId()
v = self.files[selectedId].split('.')[0]
self.setFilename(v)
def paintEvent(self, event):
p = self.palette()
p.setColor(self.backgroundRole(), Qt.GlobalColor.lightGray)
self.setPalette(p)
super().paintEvent(event)