crossplatform.ru

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

> Всплывающие окна
breeve
  опции профиля:
сообщение 28.2.2010, 15:00
Сообщение #1


Участник
**

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

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




Репутация:   1  


Пытаюсь сделать всплывающее окно как в exail'е справа в углу:

Оно появляется на секунд 10 и исчезает. Если наводишь на него то оно становится прозрачным. Если кликаешь по нему, то кликается на окошко позади этого. Т.е. оно на вид прозрачное и по сути тоже является таковым..
Как такое сделать?

Пытался сделать класс Всплывающее окошко. наследовал от виджета либо от диалога, с флагом popup. Хотел сделать его с закругленными углами, а оказалось что через style sheet нельзя редактировать внешний вид Qwidget или Qdialog'а. Только если background.
Потом пытался сделать через label. Но там тоже засада... Окошко появляется захватывает фокус и все..)) Я ничего не могу сделать. Куда мышкой не нажимаю ничего не происходит.. Ни клава не работает..

Может можно как-то попроще это все сделать? Кто что посоветует?

Сообщение отредактировал breeve - 28.2.2010, 15:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
refixs
  опции профиля:
сообщение 20.3.2010, 22:47
Сообщение #2


Студент
*

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

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




Репутация:   0  


Доброго времени суток.
Есть всплывающие окно, нужно его закрыть по правому клику мыши, при этом не активируя приложения.

Сделал так:
void NotifyWindow::mousePressEvent(QMouseEvent  *event) {
    if(event->button() == Qt::RightButton) {
        event->ignore(); // тут пробовал по всякому
        showTimer.stop();
        hide();
    } else if(event->button() == Qt::LeftButton) {
        event->accept();
        showTimer.stop();
        hide();
    }
}


Идея в том чтоб левым щелчком активировать основное окно, а правым убирать всплывающее не изменяя текущего активного окна. Пробовал с event->ignore(); пробовал играться с атрибутами WA_NoMousePropagation и WA_NoMouseReplay. Что-то ничего не получается.

Как не пробовал после щелчка мышью на всплывающем окне активным становится всплывающее, а когда оно закрывается активируется основное окно приложения.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- breeve   Всплывающие окна   28.2.2010, 15:00
- - Litkevich Yuriy   offtop: breeve, скажи полное название версии ОСьки...   28.2.2010, 15:17
- - breeve   Ubuntu 9.10 - Karmic Koala..   28.2.2010, 15:19
- - Litkevich Yuriy   Цитата(breeve @ 28.2.2010, 18:00) Т.е. он...   28.2.2010, 15:21
|- - SABROG   Цитата(Litkevich Yuriy @ 28.2.2010, 15:21...   28.2.2010, 21:23
- - Rocky   Цитата(breeve @ 28.2.2010, 15:19) Ubuntu ...   28.2.2010, 19:59
- - DEADHUNT   Цитата(Rocky @ 28.2.2010, 19:59) А графич...   28.2.2010, 20:24
- - breeve   У меня вот такой вопрос сделал так чтобы когда нав...   28.2.2010, 21:43
- - Rocky   enterEvent leaveEvent ?   28.2.2010, 22:03
|- - breeve   Цитата(Rocky @ 28.2.2010, 22:03) enterEve...   28.2.2010, 22:19
- - SABROG   Цитата(breeve @ 28.2.2010, 22:19) А у мен...   28.2.2010, 22:44
|- - breeve   Цитата(SABROG @ 28.2.2010, 22:44) Выражай...   28.2.2010, 22:49
- - SABROG   Не вызывай show() в main.cpp. Твой hide() выполняе...   28.2.2010, 22:53
- - breeve   Вопрос. Вот есть у меня QMenu в котором QAction - ...   1.3.2010, 19:43
- - Litkevich Yuriy   Цитата(breeve @ 1.3.2010, 22:43) Как сдел...   1.3.2010, 20:03
|- - breeve   Цитата(Litkevich Yuriy @ 1.3.2010, 20:03)...   1.3.2010, 20:27
- - Litkevich Yuriy   Цитата(breeve @ 1.3.2010, 23:27) А что за...   1.3.2010, 20:55
|- - BRE   Цитата(Litkevich Yuriy @ 1.3.2010, 20:55)...   1.3.2010, 21:02
|- - breeve   Цитата(BRE @ 1.3.2010, 21:02) Наверное лу...   1.3.2010, 21:17
|- - BRE   Цитата(breeve @ 1.3.2010, 21:17) А вот на...   1.3.2010, 22:08
- - Litkevich Yuriy   Цитата(BRE @ 2.3.2010, 1:08) QList<T...   1.3.2010, 22:34
|- - BRE   Цитата(Litkevich Yuriy @ 1.3.2010, 22:34)...   1.3.2010, 23:34
- - SABROG   Проблема может только появится, если диалогов може...   1.3.2010, 23:34
- - Litkevich Yuriy   Цитата(SABROG @ 2.3.2010, 2:34) Но я не п...   2.3.2010, 0:21
- - refixs   Доброго времени суток. Есть всплывающие окно, нужн...   20.3.2010, 22:47
- - Litkevich Yuriy   refixs, Цитата(refixs @ 21.3.2010, 1:47) ...   21.3.2010, 0:14
- - refixs   Что-то у меня до eventFilter вообще ничего не дохо...   21.3.2010, 2:19
- - Litkevich Yuriy   Цитата(refixs @ 21.3.2010, 5:12) Что-то у...   21.3.2010, 2:20
- - refixs   Точка остановки стоит в самом начале метода. Запус...   21.3.2010, 2:30
- - Litkevich Yuriy   Цитата(refixs @ 21.3.2010, 5:19) Что-то у...   21.3.2010, 2:49
- - refixs   Там два сообщения, отдельно добавить не получилось...   21.3.2010, 3:20
- - Litkevich Yuriy   NotifyWindow - это всплывающее окно? Цитата(refi...   21.3.2010, 3:38
- - refixs   Цитата(Litkevich Yuriy @ 21.3.2010, 3:38)...   21.3.2010, 12:02
- - Litkevich Yuriy   Цитата(refixs @ 21.3.2010, 15:02) Да, а M...   21.3.2010, 12:26
- - refixs   Да, я понял свою ошибку. Я не сделал привязку филь...   22.3.2010, 3:04


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


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




RSS Текстовая версия Сейчас: 23.11.2024, 8:39