s
sladkoewka8 сентября 2019 г. 8:40

Qpainter

QPainter

Добрый день!

Прошу подскажите пожалуйста, как реализовать отрисовку например круга в дочернем виджете на форме? Смотрел видео-урок Евгения, там всё происходит в родительской форме. соответственно если написать QPainter painter(ui->widget_4) то ничего не рисуется и появляется ошибка:
qwidget:paintengine should no longer be called
Qpainter:setpen: Painter not active
Qpainter:setbrush:Painter not active
Как заставить QPainter рисовать в дочерних виджетах?

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

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

4
Evgenii Legotckoi
  • 8 сентября 2019 г. 9:21

Добрый день. QPainter активен только внутри метода paint. поэтому нужео наследоваться от класса qwidget и переопределять метод paint. то естьтоже самое, что и в той статье, только можно без ui формы обойтись.

    s
    • 8 сентября 2019 г. 9:31
    • Ответ был помечен как решение.

    Евгений, а Вы не могли бы более подробно описать переопределение метода paint и наследовательность от класса qwidget?

      Evgenii Legotckoi
      • 10 сентября 2019 г. 6:05

      А ошибся с названием метода. Также paintEvent нужно переопределять.

      widget.h

      #ifndef WIDGET_H
      #define WIDGET_H
      
      #include <QWidget>
      
      class Widget : public QWidget
      {
          Q_OBJECT
      
      public:
          explicit Widget(QWidget *parent = nullptr);
          ~Widget();
      
      protected:
          virtual void paintEvent(QPaintEvent *event) override;    
      
      };
      
      #endif // WIDGET_H
      

      widget.cpp

      #include "widget.h"
      #include <QPainter>
      
      Widget::Widget(QWidget *parent) :
          QWidget(parent)
      {
      }
      
      Widget::~Widget()
      {
      }
      
      void Widget::paintEvent(QPaintEvent *event)
      {
          Q_UNUSED(event);
          QPainter painter(this); // Создаём объект отрисовщика
      
      }
      
        s
        • 10 сентября 2019 г. 15:16

        Благодарю!

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь
          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 г. 21:26
          Qt/C++ - Урок 031. QCustomPlot - строим график по времени buy generic priligy We can just chat, and we will not lose too much time anyway
          i
          innorwall14 ноября 2024 г. 19:03
          Qt/C++ - Урок 060. Настройка внешнего вида приложения в рантайме I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
          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 г. 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
          Реализация навигации по разделам Спасибо Евгений!

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