начинаю осваивать QPainter. вопрос в следующем.
я перетащил на форму элемент Widget (В Designer'е). далее просто хочу нарисовать линию именно в этом виджете. как указать QPainter'y , что рисовать хочу в нем.
Здравствуйте, dklaus, Вы писали:
D>QPainter p(ui->widget); это не помогает.
ты в paintEvent рисуешь или как? если нет, то надо, насколько я помню, спец-аттрибут для видгета устанавливать (paint outside of paint event), который еще и работает не везде.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Здравствуйте, dklaus, Вы писали:
D>>QPainter p(ui->widget); это не помогает.
L_L>ты в paintEvent рисуешь или как? если нет, то надо, насколько я помню, спец-аттрибут для видгета устанавливать (paint outside of paint event), который еще и работает не везде.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>а видгет-то сам существует и видим? а какой там цвет у stoke пэинтера по умолчанию? L_L>и, кстати, пэинтЭвент-то формы, а не видгета.
вот тут кто-то такое пытается делать и у него есть, кстати, сообщения об ошибках .
и да, похоже, может помочь (но это плохое решение) установка атрибута Qt::WA_PaintOutsidePaintEvent (не знаю, есть ли он в Кут5) на видгете, ну и заодно люди предлагают (вычурные на вид) решения.
Of course, the code must be complete enough to compile and link.
Здравствуйте, dklaus, Вы писали:
D>Здравствуйте, Lorenzo_LAMAS, Вы писали: L_L>>и, кстати, пэинтЭвент-то формы, а не видгета.
D>точно, пропустил этот момент. D>а как его прикрутить к виджету?
Здравствуйте, dklaus, Вы писали:
D>Здравствуйте, Lorenzo_LAMAS, Вы писали: L_L>>и, кстати, пэинтЭвент-то формы, а не видгета.
D>точно, пропустил этот момент. D>а как его прикрутить к виджету? D>https://www.dropbox.com/s/6uahddxrk17es2m/qqq.GIF
Создать наследника от виджета и переопределить paintEvent()
Здравствуйте, dklaus, Вы писали:
D>начинаю осваивать QPainter. вопрос в следующем. D>я перетащил на форму элемент Widget (В Designer'е). далее просто хочу нарисовать линию именно в этом виджете. как указать QPainter'y , что рисовать хочу в нем.
Здравствуйте, SaZ, Вы писали:
SaZ>Здравствуйте, dklaus, Вы писали:
DC>>>Создать наследника от виджета и переопределить paintEvent() D>>вопрос конечно глупый, но как это сделать?
SaZ>Уже отвечали: http://www.rsdn.ru/forum/cpp.qt/5059879.1
видел я этот пример. в нем виджет аналогклок написан руками, соответсвенно есть класс виджета и можно переопределить пеинтевент легко. а я хочу понять как это сделать, когда виджет размещен на форме в дизайнере форм.
Здравствуйте, dklaus, Вы писали:
D>видел я этот пример. в нем виджет аналогклок написан руками, соответсвенно есть класс виджета и можно переопределить пеинтевент легко. а я хочу понять как это сделать, когда виджет размещен на форме в дизайнере форм.
Да наплюйте вы на дизайнер. Руками проще и гибче. Если сильно хочется, то можно создать виджет и добавить его к компонентам дизайнера. Почитайте литературу, где-то мне встречалось это.
Здравствуйте, dklaus, Вы писали:
D>Здравствуйте, SaZ, Вы писали:
SaZ>>Здравствуйте, dklaus, Вы писали:
DC>>>>Создать наследника от виджета и переопределить paintEvent() D>>>вопрос конечно глупый, но как это сделать?
SaZ>>Уже отвечали: http://www.rsdn.ru/forum/cpp.qt/5059879.1
D>видел я этот пример. в нем виджет аналогклок написан руками, соответсвенно есть класс виджета и можно переопределить пеинтевент легко. а я хочу понять как это сделать, когда виджет размещен на форме в дизайнере форм.
Решение:
создаем класс виджета. переопределяем там пеинтивент. далее в дизайнере форм, нажимаем правой клавишей мышки на виджет, потом преобразовать в и в поле названия класса — вводим имя нашего созданного руками класса. дальше креатор все сделает сам (ну или руками править файл ui_****.h)