N
Nat21 марта 2018 г. 12:16

Отображение SVG файла в QT

Здравствуйте,

задача №1 следующая : отобразить svg файл при нажатии на кнопку.
Впоследствии отображать в одном окне разные svg файлы при нажатии на соответствующие кнопки. Но это уже потом.

проблема вся в том, что этот файл отображается в отдельном окне... не подскажите, в чем тут проблема?

Заранее благодарна

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QApplication>
#include <QtSvg>
#include <QGraphicsView>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

// Косметическая подготовка приложения
this->resize(1300,730);          // Устанавливаем размеры окна приложения
this->setFixedSize(1300,730);

scene = new QGraphicsScene(this);   // Инициализируем графическую сцену
scene->setItemIndexMethod(QGraphicsScene::NoIndex); // настраиваем индексацию элементов
graphicsView = new QGraphicsView();
graphicsView->setScene(scene);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_15_clicked()//Lorsqu'on clique sur le bouton vanne deux voies
{
QSvgWidget *Vanne2 = new QSvgWidget(":/img/Image/Manual_valve.svg");
Vanne2->show();
}


File mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSvgWidget>
#include <QGraphicsScene>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private slots:


void on_pushButton_15_clicked();

private:
Ui::MainWindow *ui;
QGraphicsScene *scene;
QGraphicsView *graphicsView;
};

#endif // MAINWINDOW_H



Capture.GIF
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

1
Evgenii Legotckoi
  • 22 марта 2018 г. 4:27

Добрый день!

У вас виджет с SVG файлом никак не размещается внутри окна приложения. А если учесть что ВЫ ещё и не передаёте parent объект в данный виджет, то он даже не знает, в какое окно должен быть подключён, поэтому и отображается как отдельное окно.
Обычно для размещения виджетов используют различные объекты размещения. Например QGridLayout.

Когда создаёте виджет, его нужно добавить, например, в размещение.
ui->gridLayout->addWidget(yourSvgWidget, rowNumber, columnNumber);
Если конечно у вас используется gridLayout в качестве основного размещения в окне приложения.

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь
    AD

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:50баллов,
    • Очки рейтинга-4
    m
    • molni99
    • 26 октября 2024 г. 1:37

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:80баллов,
    • Очки рейтинга4
    m
    • molni99
    • 26 октября 2024 г. 1:29

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:20баллов,
    • Очки рейтинга-10
    Последние комментарии
    i
    innorwall14 ноября 2024 г. 11:42
    Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
    i
    innorwall14 ноября 2024 г. 9:09
    Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
    i
    innorwall14 ноября 2024 г. 4:05
    EVILEG-CORE. Использование Google reCAPTCHA 2001; 98 29 34 priligy buy
    i
    innorwall14 ноября 2024 г. 4:00
    PyQt5 - Урок 007. Работаем с QML QtQuick (Сигналы и слоты) priligy 30mg Am J Obstet Gynecol 171 1488 505
    Сейчас обсуждают на форуме
    i
    innorwall14 ноября 2024 г. 3:39
    добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
    i
    innorwall11 ноября 2024 г. 10:55
    Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
    9
    9Anonim25 октября 2024 г. 9:10
    Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
    ИМ
    Игорь Максимов3 октября 2024 г. 4:05
    Реализация навигации по разделам Спасибо Евгений!

    Следите за нами в социальных сетях