Russian Qt Forum
Ноябрь 27, 2024, 16:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Окно произвольной формы  (Прочитано 3168 раз)
enola
Гость
« : Август 26, 2006, 18:51 »

Делаю окно произвольной формы так:
Код:
MyForm::setMask( pxPicture.createHeuristicMask() );


потом накладываю на окно эту картинку (через Label):
Код:
lbPicture->setPixmap( pxPicture );


далее пытаюсь рисовать на окне в paintEvent():
Код:
pPainter.begin( this );
clColor.setRgb( 255, 255, 255 );
pPainter.setPen( clColor );
pPainter.drawText( 100, 100, sDate );


так вот этот sDate не появляется на окне, а если отключить наложение картинки: lbPicture->SetPix.... то все нормально, я так понимаю sDate нужно сделать поверх картинки, как это сделать?

P.S. Нужно чтобы надпись была на картинке.

добавлено спустя 6 часов 28 минут:

Нашел поиском идею (все убрать в paintEvent() вставить):
Код:
QPixmap imagePixmap("date.png");	

QPainter painter(&imagePixmap);
painter.drawText(10, 10, sDate);
painter.end();

setMask(imagePixmap.mask());

painter.begin(this);
painter.drawPixmap(0, 0, imagePixmap);
painter.end();
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Август 27, 2006, 21:05 »

или отрисовать все на pixmap и его в QLabel->setPixmap()
так производительность повысишь
Записан
enola
Гость
« Ответ #2 : Август 28, 2006, 15:42 »

покажи как если не сложно. Улыбающийся

добавлено спустя 5 часов 2 минуты:

 Сделал я это окошко, скомпилил под nix так оно у меня в памяти 7,7 метра "жрет", это нормально?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.