56 lines
1.5 KiB
Python
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)
|