GF
Glep FingermanАқп. 17, 2018, 2:09 Т.Қ.

QGraphicsView

QGraphicsView

Здравствуйте, хочу создать кастомные компонент для формирования диаграмм на базе

QGraphicsView

но при компиляции выходит ошибка. Коды класса прилагаю

#include <QObject>
#include <QWidget>
#include <QGraphicsView>
#include <QMessageBox>
#include <QDebug>
#include <QString>
//
#include "qcustomgraphicsview.h"

QCustomGraphicsView::QCustomGraphicsView(QObject *parent) : QGraphicsView(parent)
{

}

QCustomGraphicsView::~QCustomGraphicsView()
{

}

#ifndef QCUSTOMGRAPHICSVIEW_H
#define QCUSTOMGRAPHICSVIEW_H

#include <QObject>
#include <QWidget>
#include <QGraphicsView>
#include <QMessageBox>
#include <QDebug>
#include <QString>

//----------------------------------------------------------
// структура описания связи между объектами,
// которые должны обмениваться данными
// (вычисления, изображения, графики и т.д.)
struct Connections{
    // идентификатор связи
    QString IDConnect;
    // имя компонента-отправителя
    QString senderName;
    // исходящий тип данных
    QString DataTypeOut;
    // имя компонента-получателя
    QString RecieverName;
    // входящий тип данных
    QString DataTypeIn;
    // стиль отображения связи
    QString StyleConnection;
    // активность связи
    bool ActivityConnect = true;
};
//----------------------------------------------------------
// класс описания кастомного графического поля
class QCustomGraphicsView : public QGraphicsView
{
    Q_OBJECT
public:
    // конструктор класса кастомного поля отрисовки схем ТРСО
    explicit QCustomGraphicsView(QObject *parent = 0);
    ~QCustomGraphicsView();

signals:
    // сигнал отправки тестового сообщения
    void sendTestMessage(QString txtMsg);

public slots:
    // слот получения данных
    QString getData(QString dataGetter);
    // слот получения данных о получателе данных
    QString getReciever(QString NameReciever, QString DataTypeIn);
    // слот получения данных об отправителе
    QString getSender(QString NameSender, QString DataTypeOut);

};

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

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

1
Evgenii Legotckoi
  • Ақп. 18, 2018, 6:34 Т.Қ.

Добрый день!

QGraphicsView - это виджет, а значит, что в качестве парента для него выступает QWidget, а не QObject.
То есть из ошибок, которые сразу бросаются в глаза в этом коде, здесь присутствует ошибка в записи конструктора.
Правильная запись будет такая
explicit QCustomGraphicsView(QWidget *parent = nullptr);
И соответственно реализация конструктора будет следующей
QCustomGraphicsView::QCustomGraphicsView(QWidget *parent) : QGraphicsView(parent)
{ 
}

    Пікірлер

    Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
    Кіріңіз немесе Тіркеліңіз
    Ua

    Qt - Тест 001. Сигналы и слоты

    • Нәтиже:84ұпай,
    • Бағалау ұпайлары4
    Ua

    Qt - Тест 001. Сигналы и слоты

    • Нәтиже:42ұпай,
    • Бағалау ұпайлары-8
    ОК

    Qt - Тест 001. Сигналы и слоты

    • Нәтиже:47ұпай,
    • Бағалау ұпайлары-6
    Соңғы пікірлер
    ИМ
    Игорь МаксимовҚар. 22, 2024, 9:51 Т.Қ.
    Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
    Evgenii Legotckoi
    Evgenii LegotckoiҚаз. 31, 2024, 11:37 Т.Қ.
    Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
    A
    ALO1ZEҚаз. 19, 2024, 5:19 Т.Қ.
    Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
    ИМ
    Игорь МаксимовҚаз. 5, 2024, 4:51 Т.Қ.
    Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
    d
    dblas5Шілде 5, 2024, 8:02 Т.Қ.
    QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
    Енді форумда талқылаңыз
    f
    firstlunoxodАқп. 15, 2025, 1:46 Т.Қ.
    Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
    Дмитрий
    ДмитрийАқп. 3, 2025, 4:24 Т.Қ.
    Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
    NW
    Nayo WaiҚаң. 30, 2025, 7:22 Т.Қ.
    не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
    n
    nklyҚаң. 3, 2025, 12:52 Т.Қ.
    Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
    M
    MarselТам. 17, 2023, 12:26 Т.Ж.
    OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

    Бізді әлеуметтік желілерде бақылаңыз