@bazliiii

Как создать кнопку внутри stackedWidget?

не создается кнопка внутри stackedWidget. Хочу для первого эрана page1 создать кнопку.
Сама задумка такая из json файла прочитываю информацию и прохожусь по элементам, каждый элемент джейсона - кнопка где название кнопки переменная из джейсона.
Вот так читаю json:
with open('lecture.json', 'r') as fileJson:
    dataJson = json.load(fileJson)


После прохожусь по lecture в dataJson и пытаюсь создавать кнопки, но результата ноль. Ниже так же приложил сам json файл
class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        self.load_ui()

    def load_ui(self):
        uic.loadUi("main.ui", self)

        stackedWidget = self.findChild(QStackedWidget, "stackedWidgetMenu")
        self.setIndex(stackedWidget, 0)

        for lecture in dataJson:
            course_name = lecture['courseName']
            lecture_title = lecture['lectureTitle']
            lecture_content = lecture['lectureContent']

            button = QPushButton(lecture_title)
            if course_name == 'Course1':
                stackedWidget.addWidget(button)
            elif course_name == 'Course2':
                stackedWidget.addWidget(button)

    def setIndex(self, stackedWidget, index):
        stackedWidget.setCurrentIndex(index)


json:
[
  {
    "courseName": "Course1",
    "lectureTitle": "Лекция 1",
    "lectureContent": "Это текст лекции 1.",
    "lectureTime": "01/09/23"
  },
  {
    "courseName": "Course1",
    "lectureTitle": "Лекция 2",
    "lectureContent": "Это текст лекции 2.",
    "lectureTime": "05/09/23"
  },
  {
    "courseName": "Course2",
    "lectureTitle": "Лекция 1",
    "lectureContent": "Это текст лекции 1 для второго курса.",
    "lectureTime": "10/09/23"
  }
]
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 мая 2024, в 19:42
150000 руб./за проект
08 мая 2024, в 19:41
1500 руб./за проект
08 мая 2024, в 18:59
1000 руб./за проект