2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Добавить layout одного класса в layout другого. Python.
Сообщение06.03.2020, 00:25 


21/02/19
108
Здравствуйте. Имеется простенькое приложение калькулятора, состоящее из двух классов: Calculator, где отрисовывается весь интерфейс, и Slot, где обрабатываются нажатия на кнопки. Решил расширить приложение и добавить возможность выбрать в меню тип расчета: Калькулятор, Графики, Матрицы. Создал для этого отдельный класс Main, в котором добавил QGridLayout с QMenuBar на позиции (0,0). Теперь хочу добавить весь интерфейс из класса Calculator на позицию (1,0) QGridLayouta класса Main. Каким образом правильно это сделать?
Ниже приведен код для класса Main:
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import sys
from PyQt5.QtWidgets import *
from calculator_opt import *

class Main(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
   
    def initUI(self):
        grid = QGridLayout()
        self.setLayout(grid)
        menu = QMenuBar()
        menu_items = dict()
        for name in ['Калькулятор','Графики','Матрицы']:
            item = menu.addMenu(name)
            menu_items[name] = item
        calc = Calculator()
        grid.addWidget(menu, 0, 0)
        grid.addLayout(calc.grid, 1, 0)

        self.show()

if __name__=='__main__':
    app = QApplication(sys.argv)
    main = Main()
    sys.exit(app.exec_())
 

На это интерпретатор python ругается и выводит следующую ошибку:
QLayout::addChildLayout: layout "" already has a parent

 Профиль  
                  
 
 Re: Добавить layout одного класса в layout другого. Python.
Сообщение06.03.2020, 01:08 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Надо добавлять калькулятор, целикрм, как видгет.

 Профиль  
                  
 
 Re: Добавить layout одного класса в layout другого. Python.
Сообщение06.03.2020, 02:17 


21/02/19
108
Geen в сообщении #1443206 писал(а):
Надо добавлять калькулятор, целикрм, как видгет.

А как именно это сделать?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group