import sys from PyQt6.QtCore import QSize from PyQt6.QtGui import QIcon from PyQt6.QtWidgets import ( QApplication, QHBoxLayout, QLabel, QRadioButton, QVBoxLayout, QWidget, ) ICON_SIZE = 100 class Window(QWidget): def __init__(self) -> None: super().__init__() self.setGeometry(200, 200, 400, 300) self.setWindowTitle("Окно") self.create_radio() def create_radio(self) -> None: hbox = QHBoxLayout() rad1 = QRadioButton("Cat 1") rad1.setIcon(QIcon("cat1.jpg")) rad1.setIconSize(QSize(ICON_SIZE, ICON_SIZE)) rad1.toggled.connect(self.radio_selected) rad2 = QRadioButton("Cat 2") rad2.setIcon(QIcon("cat2.jpg")) rad2.setIconSize(QSize(ICON_SIZE, ICON_SIZE)) rad2.toggled.connect(self.radio_selected) hbox.addWidget(rad1) hbox.addWidget(rad2) vbox = QVBoxLayout() self.label = QLabel("") vbox.addWidget(self.label) vbox.addLayout(hbox) self.setLayout(vbox) def radio_selected(self) -> None: radio_btn = self.sender() if radio_btn.isEnabled(): self.label.setText(f"You have chosen {radio_btn.text().lower()}") def main() -> None: app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec()) if __name__ == "__main__": main()