| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT4] Рисование в widget |
| Автор: SwordOfDeath 21.12.2008, 22:51 |
| Добрый день, Немного начал разбираться в архитектуре Qt и мне нужна помощь Задача: Есть существующий widget например QLabel, нужно нарисовать например линию так чтобы она была внутри этого виджета. Пока не очень себе представляю как это реализовать, возможно созданием своего виджета в котором создать QLabel и поверх QPainterPath, либо получением указателя на QPainter QLabel'a... =\ Если я запутался в класах не пинайте, я еще только начал изучать Qt... |
| Автор: Acer 21.12.2008, 23:04 |
| При создании виджета в его конструктор можно передавать указатель на родительский виджет |
| Автор: SwordOfDeath 21.12.2008, 23:12 |
| Пока не понимаю как вашу подсказку можно использовать =) |
| Автор: Acer 21.12.2008, 23:20 | ||
Линии я не рисовал, подскажу на другом примере:
|
| Автор: SABROG 21.12.2008, 23:29 |
| Если говорить конкретно о QLabel, то можно нарисовать (в памяти с помощью классов) картинку и присвоить QLabel, т.к. он умеет отображать картинки. Если говорить просто о QWidget как таковом, то унаследование и переопределение paintEvent. |
| Автор: SwordOfDeath 21.12.2008, 23:32 |
| Хм... Ну скажем виджет с лебелом я получил... каким образом мне сделать что-бы QLabel принимал размер родительского виджета и по верх него была нарисована линия (0,0,maxx,maxy)... Добавлено @ 23:34 SABROG, Спасибо Похоже paintEvent то что нужно, не могли бы вы мне дать небольшой исходничек... А я пока в асистанте покопаюсь... |
| Автор: SABROG 21.12.2008, 23:42 |
| Аналог alClient как в дельфи - Layout to Grid. Это растяняет виджет на всю обласать. Поищи заодно в ассистенте - Basic Drawing Example. Вообще там много примеров с переопределением painEvent. |
| Автор: SwordOfDeath 22.12.2008, 00:03 | ||
Спасибо буду розбиратся
painEvent объявлен в QLifeIsPain? |