crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Произвольная форма окна, setMask shape frame
zaytsewa
  опции профиля:
сообщение 8.8.2011, 15:58
Сообщение #1


Студент
*

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

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




Репутация:   0  


Всем привет!
Нужно задать окну форму по битовой маске, но почему-то не получается.

сначала загружаю на формочку стиль

QWidget
{
background-repeat: no-repeat;
background-color: transparent;
background-position: center center;
background-image: url(:/Images/bg.png);
top-border-radius: 20px;
}

    QPixmap pixmap( wdgtMask() );
    clearMask();
    setMask( pixmap.mask() );


в итоге там, где прозрачный фон получается чёрный цвет, а нужно чтобы через прозрачный фон этой формочки просвечивали элементы главного окна
помогите, плз, кто сталкивался
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.8.2011, 16:24
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


а зачем тут стиль?

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    Window       win;
    QPixmap      pix(":/images/unixoids.png");

    win.setPixmap(pix);
    win.setMask(pix.mask());
    win.show();

    return app.exec();
}
из книжки Макса Шлее
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 8.8.2011, 16:27
Сообщение #3


Студент
*

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

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




Репутация:   0  


потому что чтиль нужен тоже)
не тольок из-за бэкграунда

тем более у QFrame нет метода setPixmap
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 8.8.2011, 17:38
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Окно не может быть QFrame. :huh:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 9.8.2011, 9:01
Сообщение #5


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

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




Репутация:   12  


Цитата(RazrFalcon @ 8.8.2011, 18:38) *
Окно не может быть QFrame. :huh:

QFrame Inherits QWidget. С какой радости фрейм не окно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 9.8.2011, 10:03
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


А, ну да. <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.8.2011, 16:37
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(zaytsewa @ 8.8.2011, 19:27) *
тем более у QFrame нет метода setPixmap
Цитата(wiz29 @ 9.8.2011, 12:01) *
QFrame Inherits QWidget
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 3.1.2025, 3:59