crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Установка цвеной рамки на frame или как вставить png на виджет
brucemax
  опции профиля:
сообщение 16.2.2012, 17:32
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 5.10.2011
Пользователь №: 2922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть фрэйм (фообще их много на форме) в нём пару лэблов и прогрессбар.. всё в компановщиках. Вопрос: как нарисовать рамку (причём планируется мигать этой рамкой) вокруг фрейма? Углы у фрэйма сглаженные, то есть и у рамки они должны быть соответствующие(но это уже второстепенная задача). В какую сторону решение смотреть лучше (рисовать пэинтером или может pngшку накладывать(но я пока не знаю как)) Заранее спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 16.2.2012, 23:34
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Вообщем то png рисуется тем же пэинтером (функции drawImage и drawPixmap).
Выбор между готовым изображением и процедурным генерированием определяется исходя из сложности рамки. Если это простая линя одного цвета, то явно лучше доверить рисование программе. Если рамка представляет собой сложный узор, то лучше конечно нарисовать ее отдельно, а потом просто отображать по требованию. Сложность рамки каждый программист определяет для себя индивидуально.

Сообщение отредактировал ilyabvt - 16.2.2012, 23:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
brucemax
  опции профиля:
сообщение 17.2.2012, 15:55
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 5.10.2011
Пользователь №: 2922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ilyabvt @ 16.2.2012, 23:34) *
Вообщем то png рисуется тем же пэинтером (функции drawImage и drawPixmap).
Выбор между готовым изображением и процедурным генерированием определяется исходя из сложности рамки. Если это простая линя одного цвета, то явно лучше доверить рисование программе. Если рамка представляет собой сложный узор, то лучше конечно нарисовать ее отдельно, а потом просто отображать по требованию. Сложность рамки каждый программист определяет для себя индивидуально.

А как зделать так, чтобы нарисованное на виджете масштабировалось вместе с изменением размера виджета?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 17.2.2012, 19:14
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата(brucemax @ 17.2.2012, 18:55) *
Цитата(ilyabvt @ 16.2.2012, 23:34) *
Вообщем то png рисуется тем же пэинтером (функции drawImage и drawPixmap).
Выбор между готовым изображением и процедурным генерированием определяется исходя из сложности рамки. Если это простая линя одного цвета, то явно лучше доверить рисование программе. Если рамка представляет собой сложный узор, то лучше конечно нарисовать ее отдельно, а потом просто отображать по требованию. Сложность рамки каждый программист определяет для себя индивидуально.

А как зделать так, чтобы нарисованное на виджете масштабировалось вместе с изменением размера виджета?

Нужно в коде рисования ввести зависимость размера рисуемого изображения от размера виджета. Например так:
QPainter paint(this);
paint.drawImage(QRect(0, 0, width(), height()), image); //image - это объект типа QImage

В этом примере изображение растягивается на весь виджет.
После изменения размера виджета paintEvent вызывается автоматически.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2025, 10:02