Здравствуйте, гость ( Вход | Регистрация )
PAFOS | Дата 6.4.2011, 9:10 |
Все относительно просто. Есть такой класс QPainterPath. Он определяет набор фигур, которые потом может рисовать QPainter (см. в документации) Ты делаешь виджет, который имеет в паблике экземпляр класса QPainterPath и в методе paintEvent, просто рисуешь этy path) Т.к. экземпляр класса QPainterPath у тебя в паблике - ты можешь когда угодно его поменять и соответственно поменяется рисунок на твоем виджете |
|
wiz29 | Дата 6.4.2011, 8:45 |
у тебя нет реализации конструктора и деструктора для класса MyWindow, хотя есть объявление (в этом случае код автоматически не генерится компилером). Поэтому и ругается. можно сделать так , тогда все заработает. |
|
tumanovalex | Дата 6.4.2011, 8:27 |
Попробовал реализовать рисование через класс, в QTCreator получаю невнятную ошибку: в Visual Studio более подробную ошибку: Подскажите, пожалуйста, в чем моя ошибка? Прикрепляю проект. |
|
Litkevich Yuriy | Дата 5.4.2011, 14:12 |
на весь экран: или на всё окно?tumanovalex, рисование в Qt осуществляется только в обработчике события paintEvent() некого виджета. Т.е. тебе нужно создать наследника от QWidget, объявить в нём метод paintEvent() и в нём рисовать. А без создания класса для виджета нельзя обойтись? можно, но это будет посложнее.Как-нибудь определить в моем коде widget->paintEvent и указать функцию, которая будет обрабатывать перерисовку? нет, так в Си++ не получится. |
|
tumanovalex | Дата 4.4.2011, 18:42 |
При нажатии на кнопке основной формы создаю окно и хочу нарисовать на нем линию по диагонали на весь экран: Окно создается, но вот линии на нем нет. Если заранее создать класс для widget и в нем определить paintEvent с рисованием линий, то, как я понимаю, все будет нормально перерисовываться. А без создания класса для виджета нельзя обойтись? Как-нибудь определить в моем коде widget->paintEvent и указать функцию, которая будет обрабатывать перерисовку? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 14:03 |