QChart в Qt

Тема в разделе "LANGS.C", создана пользователем _qwe8013, 23 ноя 2017.

  1. _qwe8013

    _qwe8013 Active Member

    Публикаций:
    2
    Регистрация:
    30 ноя 2016
    Сообщения:
    123
    Поставил себе Qt 5.9.3 и QtCreator. Нужно создать проект с QtChart. Создаю стандартный проект и добавляю строку с создание объекта QtChart:
    Код (C++):
    1. #include "mainwindow.h"
    2. #include "ui_mainwindow.h"
    3. #include <QtCharts/QChart>
    4.  
    5. using namespace QtCharts;
    6.  
    7. MainWindow::MainWindow(QWidget *parent) :
    8.     QMainWindow(parent),
    9.     ui(new Ui::MainWindow)
    10. {
    11.     ui->setupUi(this);
    12.  
    13.     QChart* qwe = new QChart();
    14. }
    15.  
    16. MainWindow::~MainWindow()
    17. {
    18.     delete ui;
    19. }
    20.  
    При попытке компиляции выдаётся ошибка:
    Отсюда 2 вопроса:
    1) Что я делаю не так?
    2) Как добавить сей компонент в designer, а то прописывать ручками как-то не очень удобно?
     
  2. superakira

    superakira Guest

    Публикаций:
    0
    У тебя фундоментальное непонимание как воркает Qt.
    Даже если ты заведешь, то чарта ты не увидишь. Он у тебя висит в воздухе - парента у него нету. Я не знаю как ты там ui задизайнил, но суть что виджеты раскидываются по лэйаутам, распираются спэйсерами итд. И соответственно твой чарт должен быть чайлдом кого-то (лэйаут виджет итд), чтобы его можно было видеть в окне.
    Я бы на твоем месте юзал qml - это в разы проще. Делаешь верстку в кумле. Если что-то нативное надо, то делаешь классик (от QObjectа c пропертями сигналами) и регаешь его - примеры есть а из кумля уже юзаешь.

    На виджетах ты погрязнешь в деталях)

    По вопросу - а ты библу чартов подключил? Проверь про файл что там подключено.
     
  3. _qwe8013

    _qwe8013 Active Member

    Публикаций:
    2
    Регистрация:
    30 ноя 2016
    Сообщения:
    123
    Да, чего-то тупанул, теперь всё компилируется.
    Я знаю. Просто прежде чем его отображать, нужно разобраться с его созданием.