При нажатии на QRadioButton меняется фото

Пытаюсь сделать, чтобы при нажатии на QRadioButton менялись фотографии. Использую Qt Desinger Понимаю, что у меня он просто не видит кнопки, помогите пожалуйста

ReadyTemplates.py

import sys

from PyQt5.QtWidgets import (QApplication, QDialog, QMainWindow, QMessageBox)
from PyQt5.uic import loadUi
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *

from ui_ReadyTemplates import Ui_ReadyTemplates

class ReadyTemplates(QMainWindow, Ui_ReadyTemplates):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.ui = Ui_ReadyTemplates()
        self.ui.setupUi(self)

        radiobutton = self.QRadioButton("radioButton")
        radiobutton.image = "1.jpg"
        radiobutton.toggled.connect(self.onClicked)


        radiobutton = QRadioButton("radioButton_2")
        radiobutton.image = "2.jpg"
        radiobutton.toggled.connect(self.onClicked)


        radiobutton = QRadioButton("radioButton_3")
        radiobutton.image = "3.jpg"
        radiobutton.toggled.connect(self.onClicked)


    def onClicked(self):
        radioButton = self.sender()
        if radioButton.isChecked():
            self.ui.label_2.setPixmap(QPixmap(u"{}".format(radiobutton.image)))




if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = ReadyTemplates()
    win.show()
    sys.exit(app.exec_())

Ui_ReadyTemplates.py

from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *


class Ui_ReadyTemplates(object):
    def setupUi(self, ReadyTemplates):
        if not ReadyTemplates.objectName():
            ReadyTemplates.setObjectName(u"ReadyTemplates")
        ReadyTemplates.resize(904, 689)
        icon = QIcon()
        icon.addFile(u"../JLQOy.png", QSize(), QIcon.Normal, QIcon.Off)
        ReadyTemplates.setWindowIcon(icon)
        self.action = QAction(ReadyTemplates)
        self.action.setObjectName(u"action")
        self.action_2 = QAction(ReadyTemplates)
        self.action_2.setObjectName(u"action_2")
        self.centralwidget = QWidget(ReadyTemplates)
        self.centralwidget.setObjectName(u"centralwidget")
        self.label_2 = QLabel(self.centralwidget)
        self.label_2.setObjectName(u"label_2")
        self.label_2.setGeometry(QRect(10, 10, 561, 661))
        self.label_2.setTextFormat(Qt.MarkdownText)
        self.label_2.setScaledContents(True)
        self.label_2.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter)
        self.label_2.setMargin(-3)
        self.label_2.setOpenExternalLinks(False)
        self.verticalLayoutWidget = QWidget(self.centralwidget)
        self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
        self.verticalLayoutWidget.setGeometry(QRect(700, 90, 160, 80))
        self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.radioButton = QRadioButton(self.verticalLayoutWidget)
        self.radioButton.setObjectName(u"radioButton")

        self.verticalLayout.addWidget(self.radioButton)

        self.radioButton_2 = QRadioButton(self.verticalLayoutWidget)
        self.radioButton_2.setObjectName(u"radioButton_2")

        self.verticalLayout.addWidget(self.radioButton_2)

        self.radioButton_3 = QRadioButton(self.verticalLayoutWidget)
        self.radioButton_3.setObjectName(u"radioButton_3")

        self.verticalLayout.addWidget(self.radioButton_3)

        ReadyTemplates.setCentralWidget(self.centralwidget)

        self.retranslateUi(ReadyTemplates)

        QMetaObject.connectSlotsByName(ReadyTemplates)
    # setupUi

    def retranslateUi(self, ReadyTemplates):
        ReadyTemplates.setWindowTitle(QCoreApplication.translate("ReadyTemplates", u"\u041e\u041e\u041e \"\u0422\u041a\u0420\" - \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b", None))
        self.action.setText(QCoreApplication.translate("ReadyTemplates", u"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e", None))
        self.action_2.setText(QCoreApplication.translate("ReadyTemplates", u"\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f", None))
        self.label_2.setText("")
        self.radioButton.setText(QCoreApplication.translate("ReadyTemplates", u"\u0425", None))
        self.radioButton_2.setText(QCoreApplication.translate("ReadyTemplates", u"Y", None))
        self.radioButton_3.setText(QCoreApplication.translate("ReadyTemplates", u"Z", None))
    # retranslateUi

Ответы (1 шт):

Автор решения: S. Nick

Импорты поменяйте на PySide6, если надо и попробуйте

from PyQt5.Qt import *

#from ui_ReadyTemplates import Ui_ReadyTemplates
class Ui_ReadyTemplates(object):
    def setupUi(self, ReadyTemplates):
        if not ReadyTemplates.objectName():
            ReadyTemplates.setObjectName(u"ReadyTemplates")
        ReadyTemplates.resize(904, 689)
        icon = QIcon()
        icon.addFile(u"../JLQOy.png", QSize(), QIcon.Normal, QIcon.Off)
        ReadyTemplates.setWindowIcon(icon)
        self.action = QAction(ReadyTemplates)
        self.action.setObjectName(u"action")
        self.action_2 = QAction(ReadyTemplates)
        self.action_2.setObjectName(u"action_2")
        self.centralwidget = QWidget(ReadyTemplates)
        self.centralwidget.setObjectName(u"centralwidget")
        self.label_2 = QLabel(self.centralwidget)
        self.label_2.setObjectName(u"label_2")
        self.label_2.setGeometry(QRect(10, 10, 661, 661))
        self.label_2.setTextFormat(Qt.MarkdownText)
        self.label_2.setScaledContents(True)
        self.label_2.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter)
        self.label_2.setMargin(-3)
        self.label_2.setOpenExternalLinks(False)
        self.verticalLayoutWidget = QWidget(self.centralwidget)
        self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
        self.verticalLayoutWidget.setGeometry(QRect(700, 90, 160, 80))
        self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.radioButton = QRadioButton(self.verticalLayoutWidget)
        self.radioButton.setObjectName(u"radioButton")

        self.verticalLayout.addWidget(self.radioButton)

        self.radioButton_2 = QRadioButton(self.verticalLayoutWidget)
        self.radioButton_2.setObjectName(u"radioButton_2")

        self.verticalLayout.addWidget(self.radioButton_2)

        self.radioButton_3 = QRadioButton(self.verticalLayoutWidget)
        self.radioButton_3.setObjectName(u"radioButton_3")

        self.verticalLayout.addWidget(self.radioButton_3)

        ReadyTemplates.setCentralWidget(self.centralwidget)

        self.retranslateUi(ReadyTemplates)

        QMetaObject.connectSlotsByName(ReadyTemplates)
    # setupUi

    def retranslateUi(self, ReadyTemplates):
        ReadyTemplates.setWindowTitle(QCoreApplication.translate("ReadyTemplates", u"\u041e\u041e\u041e \"\u0422\u041a\u0420\" - \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b", None))
        self.action.setText(QCoreApplication.translate("ReadyTemplates", u"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e", None))
        self.action_2.setText(QCoreApplication.translate("ReadyTemplates", u"\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f", None))
        self.label_2.setText("")
        self.radioButton.setText(QCoreApplication.translate("ReadyTemplates", u"\u0425", None))
        self.radioButton_2.setText(QCoreApplication.translate("ReadyTemplates", u"Y", None))
        self.radioButton_3.setText(QCoreApplication.translate("ReadyTemplates", u"Z", None))
    # retranslateUi
    

class ReadyTemplates(QMainWindow, Ui_ReadyTemplates):
    def __init__(self, parent=None):
        super().__init__(parent)
        
        self.setupUi(self)

        self.label_2.setPixmap(QPixmap('Ok.png'))  

        self.radioButton.toggled.connect(self.onClicked)
        self.radioButton_2.toggled.connect(self.onClicked)
        self.radioButton_3.toggled.connect(self.onClicked)

    def onClicked(self):
        senderRadioButton = self.sender()
        if senderRadioButton.isChecked():
#            self.ui.label_2.setPixmap(QPixmap(u"{}".format(radiobutton.image)))
            if senderRadioButton.text() == "Y":
                self.label_2.setPixmap(QPixmap('im.png'))
            elif senderRadioButton.text() == "Z":
                self.label_2.setPixmap(QPixmap('lena.jpg'))
            else :
                self.label_2.setPixmap(QPixmap('Ok.png'))


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = ReadyTemplates()
    win.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка