/
polytech_kolomna
/
aipackaging
Обзор
Документация
Войти
/
polytech_kolomna
/
aipackaging
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
FigureGenerator
src/gui/packagingwidget.cpp
92 строки
3 KB
Olegh
lower case
28 окт 2025, 20:44
28 окт 2025, 20:44
bc1a1ea
Код
Авторство
О чём код?
#include <QHBoxLayout> #include <QVBoxLayout> #include <QPushButton> #include <QMouseEvent> #include <mainscenewidget.h> #include <generatescenewidget.h> #include <packagingwidget.h> //------------------------------------------------------------------------------ /** \brief Конструктор \details Расставляет кнопки и соединяет сигналы */ //-- PackagingWidget::PackagingWidget(QWidget* parent) : mainScene_(new MainSceneWidget(this)), genScene_(new GenerateSceneWidget(this)) { QHBoxLayout* horizontalLayout = new QHBoxLayout(this); QVBoxLayout* verticalLayout = new QVBoxLayout(); QPushButton* editBut = new QPushButton(tr("Редактор")); QPushButton* saveBut = new QPushButton(tr("Сохранить")); QPushButton* loadBut = new QPushButton(tr("Загрузить")); verticalLayout->addWidget(genScene_); verticalLayout->addWidget(editBut); verticalLayout->addWidget(saveBut); verticalLayout->addWidget(loadBut); verticalLayout->addStretch(); horizontalLayout->addStretch(); horizontalLayout->addWidget(mainScene_, 9); horizontalLayout->addLayout(verticalLayout, 1); horizontalLayout->addStretch(); mainScene_->setMinimumSize({ 800,600 }); genScene_->setFixedSize({ 200,200 }); connect(mainScene_, &MainSceneWidget::mainSceneQPainterCreated, this, &PackagingWidget::sendMainSceneQPainter); connect(genScene_, &GenerateSceneWidget::generateSceneQPainterCreated, this, &PackagingWidget::sendGenerateSceneQPainter); connect(mainScene_, &MainSceneWidget::mainSceneMouseEventGenerated, this, &PackagingWidget::sendMainSceneMouseEvent); connect(mainScene_, &MainSceneWidget::mainSceneWheelEventGenerated, this, &PackagingWidget::sendMainSceneWheelEvent); connect(saveBut, &QPushButton::clicked, [this]() {emit requestSave();}); connect(loadBut, &QPushButton::clicked, [this]() {emit requestLoad();}); } //------------------------------------------------------------------------------ /** Ожидает qpainter с основной сцены, после чего передает его выше */ //-- void PackagingWidget::sendMainSceneQPainter(QPainter& painter) { emit mainSceneQPainterCreated(painter); } //------------------------------------------------------------------------------ /** Ожидает qpainter со дополнительной сцены, где генерируются объекты, после чего передает его выше */ //-- void PackagingWidget::sendGenerateSceneQPainter(QPainter& painter) { emit generateSceneQPainterCreated(painter); } //------------------------------------------------------------------------------ /** Ожидает событие мыши с основной сцены, после чего передает его выше */ //-- void PackagingWidget::sendMainSceneMouseEvent(QMouseEvent* event) { emit mainSceneMouseEventCreated(event); } //------------------------------------------------------------------------------ /** Ожидает событие колесика с основной сцены, после чего передает его выше */ //-- void PackagingWidget::sendMainSceneWheelEvent(QWheelEvent* event) { emit mainSceneWheelEventCreated(event); }