Рисование в Qt Creator за 6 минут
Привет!
Этот короткий выпуск полезен для тех, кто только начинает осваивать рисование в Qt. Мы научимся переопределять функцию paintEvent(), рисовать геометрические фигуры, настраивать контур и заливку.
Эпизоды:
00:00 - переопределение функции
01:21 - рисование объектов
04:08 - настройка контура
05:25 - настройка заливки
#QtCreator #ПрограммныйКот
Пікірлер: 48
Очень понятно и лаконично. База! Спасибо за выпуск !
Прекрасный канал по Qt и С++. Не бросайте этот канал
@programmcat
2 жыл бұрын
Спасибо!
Ёмко, информативно и поучительно! Супер!
Автор красава все получилось как на видео очень помог спасибо подписка лойс
Большое спасибо, очень помогаете делать лабы
Очень классная заставка с котом в самом начале! Спасибо за видео😻
@programmcat
3 жыл бұрын
💪
спасибо. полезно)
Сделай плиз урок по QGraphicsScene. Я так понимаю он более удобный.. Твоя подача уроков очень классная
@programmcat
3 жыл бұрын
будет в ближайшее время
Жду видос по qtcolor и работе с ним, думаю будет полезно
Спасибо!
Здравствуйте ! Мне очень нравятся ваши видео и стиль подачи)) Сделайте пожалуйста выпуск про QserialPort, в интернете куча способов и они противоречат друг другу, думаю сообществу ардуинщиков это будет очень интересно. Спасибо за Ваш труд.
@programmcat
2 жыл бұрын
Планирую делать ролики на эту тему в перспективе, сейчас вообще мало времени заниматься ютюбом ☹️
@alexishome4322
2 жыл бұрын
Там есть пример с gui и терминалом, ничего не понятно но можно переделать для себя, ни одного чёткого гайда так и не нашел (((
Ваааааая, что он творит. Ат душы
Огонь
Пааааарень! Ты самый лучший!
Красавчик. После попыток в инете нарисовать прямоугольник... я намучился, ничего не рисовало. Здесь просто как в сказке - я в шоке. Есть же четкие человеки. Хочешь быть моим папой? :-)
2:21 проржался)))
Спасибо большое за уроки! Буду благодарен, если покажете как сделать что-нибудь серверно-клиентное)
@programmcat
2 жыл бұрын
следующий ролик вам понравится, не пропустите
Спасибо за видео!!! А можно на вставленной картинке из ресурсов рисовать например текст как-то?
Вопрос на тему "Но если вы создаете проект, где отрисовка зависит от внешних событий, нажатия на кнопку ...вызовите её функцией repaint();". В видео рисование начинается сразу при запуске проекта. Мне нужно, чтобы рисование началось по нажатию кнопки, т.е. запустил программу - рисунка нет, нажал кнопку - рисунок появился. Подскажите что где нужно добавить?
@user-yp5ub9fv5j
Жыл бұрын
Самый простой способ - сделать машину состояний(switch(state){case 0: nothing to do; case 1: paint triangle; case 2: paint poligon;.....}) в обработчике paintEvent().Функция будет вызываться всегда, когда нужна прориовка, однако реальные "картинки" будут зависеть от состояния, в каждом из них могут быть свои рисунки.Изменять переменную state можете в обработчике(слоте) кнопки.Разумеется,заводить глобальную переменную state моветон, поэтому лучше создать ее в заголовочном файле класса виджета, для которого Вы перегружаете функцию paintEvent()
2:28 Неверно. Отрицательные координаты ещё как могут быть, если точка находится выше окна, или левее.
Добрый день автор. Как можно сделать пунктирную линию двигующей, т.е. чтобы сами пунктиры двигались?
Мб микрофон надо поставить подальше, чтобы звук стал нормальным.
Как рисовать на каком нибудь виджете.. У меня ничего не получается. Плизз объясни пожалуйста.
@programmcat
3 жыл бұрын
не понял вопрос, в ролике было рисование на виджете
Добрый день. Я люблю рисовать в html canvas и пытаюсь рисовать в qpixmap, но линии выглядят ужасно пиксельно, подскажите как это исправить если это возможно
@programmcat
2 жыл бұрын
так в ролике же говорится об этом )) painter.setRenderHint(QPainter::Antialiasing);
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::paintEvent(QPaintEvent*)' Что это такое? Делаю всё по видео.
@programmcat
3 жыл бұрын
Обычно такая ошибка возникает, если у вас функция объявлена в хедере, но не реализована в cpp. Чтобы найти причину ошибки в вашем конкретном случае, нужно взглянуть на ваш код
@vukavuka7519
3 жыл бұрын
@@programmcat да, это так. Тогда работает, но почему у меня вообще QPainter не выделяется никакими цветом + void MainWindow:: paintEvent(QPaintEvent *) тоже курсивом не выделяется. Как будто QT не распознает QPainter. Очень странно.
Надеюсь тут кто то еще живет и ответит на мой коммент. Я делаю шахматы на c++ используя qt и vscode. Я пытаюсь второй день сделать так чтобы у меня отрисовывалась доска и поверх нее были фигуры в .png формата. Доску отрисовал через QGraphicsRectItem, которые добавлял в QGraphicsScene, который добавил в QGraphicsView. А вот с добавлением фигур проблема. Я не нашел способа как это сделать. Помогите пожалуйста. Долблюсь как-будто в непробиваемую стену
@user-oq3ij9zn6f
5 күн бұрын
попробуй qml
А как этот QPaintEvent вызывать допустим по нажатию кнопки?
@programmcat
2 жыл бұрын
Проявить смекалку
Спасибо за гайд, но звук ужасный (голос поступает только в левый динамик + скачет постоянно)
Поставил painter.draw... в цикл - рисовать перестало почему-то... если отдельными операторами много раз подряд - то рисует. В цикле то же самое не хочет почему-то. Цикл двойной - цикл в цикле. Во внутренний не заходит. Убрал его. Один цикл отработал. Вывел прямоугольники. А теперь нужно каждый из них вывести несколько раз - а вот это не хочет делать. Дааа, чувствую куда-то я не в ту профессию лезу, че за нафиг :-) от чорт, типы перепутал - инт и дабл - из-за этого число итераций в ноль превращалось. Какой ужас, с++ - это ужас...
@programmcat
2 жыл бұрын
С++ не прощает ошибок! :-D
Никак не могу научиться рисовать на виджете.. Пусто получается
@programmcat
3 жыл бұрын
нужно код смотреть, что-то забыли скорее всего
@webgoal3287
3 жыл бұрын
@@programmcat Я создал новый виджет с рисованием. А в основной поставил виджет и переопределил его на новый созданный. И все заработал..
Отключи дискотеку! диз!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!