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
4322
Надо добавлять калькулятор, целикрм, как видгет.

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


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

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

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

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



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

Сейчас этот форум просматривают: Google [Bot]


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

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