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)