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

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

Страниц: 1 [2] 3 4   Вниз
  Печать  
Автор Тема: Открыть поверх окон  (Прочитано 29019 раз)
Bepec
Гость
« Ответ #15 : Июль 08, 2016, 03:30 »

Иногда креатор глючит и становится "главным" окном для дебажнйо прожки. Но только в режиме дебага.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Июль 08, 2016, 08:14 »

То, что я хотел, я сформулировал в первом абзаце топика. Если Вас не затруднит, пожалуйста, выделите полторы секунды своего времени на скролл до самого первого сообщения и ознакомьтесь с оным.
Нисколько не затруднит Улыбающийся
При активации даблкликом мне бы хотелось эту форму, понятное дело, выводить поверх всего, однако затем позволить пользователю манипулировать ее приоритетом видимости.
Какие манипуляции имелись ввиду Непонимающий Предложите разумный сценарий, напр

- если приложение в фокусе (foreground) - некоторые его окна торчат поверх всех, иначе они скрыты

Это довольно стандартное поведение "floating palette", реализовано во многих приложениях (см напр Photoshop). Если хотите чего-то другого - то чего?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #17 : Июль 08, 2016, 10:18 »

Я так понимаю, что человеку надо открыть дополнительное окно приложения, чтобы оно висело только поверх других окон ЭТОГО приложения, а не ВСЕХ других приложений (что делает Qt::WindowStaysOnTopHint). Т.е. что-то типа Z-координаты, которая всегда держит окно вверху.

(Кстати, ничего подобного я тоже в доке Qt не нашел, хотя иногда такое может быть нужно. В WinApi для этого есть флаг HWND_TOP).
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Июль 08, 2016, 10:52 »

Я так понимаю, что человеку надо открыть дополнительное окно приложения, чтобы оно висело только поверх других окон ЭТОГО приложения, а не ВСЕХ других приложений (что делает Qt::WindowStaysOnTopHint). Т.е. что-то типа Z-координаты, которая всегда держит окно вверху.

(Кстати, ничего подобного я тоже в доке Qt не нашел, хотя иногда такое может быть нужно.
Такое нужно частенько, и об этом разговор был
Там дальше интереснее - открыть "поверх всех" можно, но такое окно торчит и когда переключился на др приложение. Это быстро достает, обычно хочется "поверх всех моих окон" или даже "поверх всех моих немодальных окон".
В WinApi для этого есть флаг HWND_TOP).
Это просто "одноразовая" установка, от перекрытия не спасает

Да, кстати о птичках: а где же те кто так яро защищал Вындоуз и доказывал ее "не-убогость"? У Вас отличная возможность утереть всем нос показав как это сделать! Или то хорошо было "просто так" калякать ?  Улыбающийся
Записан
wenny
Гость
« Ответ #19 : Июль 08, 2016, 11:08 »

Видать, никто не сталкивался. Тогда иллюстрация. Запускаем Хром, даблкликаем по моей прожке в трее и...



Суть в том, что если последний фокус перед даблкликом был на другом приложении, то прожка запускается ПОД ним. Psi+, например, это не мешает выскакивать поверх Хрома. Надеюсь, теперь понятно всем.
« Последнее редактирование: Июль 08, 2016, 11:55 от wenny » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #20 : Июль 08, 2016, 11:11 »

так а что мешает заглянуть в код пси? Улыбающийся это ж открытый проект, насколько я помню.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
wenny
Гость
« Ответ #21 : Июль 08, 2016, 11:15 »

так а что мешает заглянуть в код пси? Улыбающийся это ж открытый проект, насколько я помню.
Было бы гуманнее предложить сразу выстрелить себе в голову с обреза я решил начать с форума. Я просто подумал, что такая армия яростных задротов, забросивших женщин и мирские утехи ради коденга профессионалов qt сумеет совладать с моей скромной траблой
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #22 : Июль 08, 2016, 11:27 »

там вполне может использоваться платформозависимый функционал
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #23 : Июль 08, 2016, 11:49 »

Видать, никто не сталкивался. Тогда иллюстрация. Запускаем Хром, даблкликаем по трею и...

Все-таки не понятно. Запускаю хром, даблкликаю по трею на хроме и ... открывается хром, даблкликаю на моей проге и открывается моя прога, над хромом.

Да, кстати о птичках: а где же те кто так яро защищал Вындоуз и доказывал ее "не-убогость"? У Вас отличная возможность утереть всем нос показав как это сделать! Или то хорошо было "просто так" калякать ?  Улыбающийся

Чаще "просто так" калякать, у вас получается.  Подмигивающий

Все в винде нормально работает.
« Последнее редактирование: Июль 08, 2016, 11:57 от PimenS » Записан
wenny
Гость
« Ответ #24 : Июль 08, 2016, 11:56 »

даблкликаю по трею на хроме
Я на всякий случай поправил свое сообщение, но.. зачем Вы даблкликаете по трею хрома? Речь вообще не о нем.

даблкликаю на моей проге и открывается моя прога, над хромом.
Вот и я хочу над Хромом.
« Последнее редактирование: Июль 08, 2016, 11:58 от wenny » Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #25 : Июль 08, 2016, 11:58 »

чтобы

Цитировать
Суть в том, что если последний фокус перед даблкликом был на другом приложении

Цитировать
Вот и я хочу над Хромом.

виндоус какой у вас?
Записан
wenny
Гость
« Ответ #26 : Июль 08, 2016, 12:02 »

Семерка. Не делаю ничего необычного: просто hide() | show().
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #27 : Июль 08, 2016, 12:10 »

У меня одним кликом открывается без проблем и двумя:



Код:
connect(c_tray_icon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason)));

Код:
void sMainWindow::trayActivated(QSystemTrayIcon::ActivationReason reason)
{
    switch (reason) {
    case QSystemTrayIcon::DoubleClick: {
        if (isMinimized())
            showNormal();

        activateWindow();
        break;
    }
    default:
        break;
    }
}


Может это поможет
« Последнее редактирование: Июль 08, 2016, 12:14 от PimenS » Записан
wenny
Гость
« Ответ #28 : Июль 08, 2016, 12:27 »

Да, activateWindow() спас, спасибо Улыбающийся
« Последнее редактирование: Июль 08, 2016, 12:34 от wenny » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #29 : Июль 08, 2016, 14:46 »

Все в винде нормально работает.
А что "все"? Окно(а) приложения в фокусе поверх других? Ну для такого ОС - уже успех  Улыбающийся
Записан
Страниц: 1 [2] 3 4   Вверх
  Печать  
 
Перейти в:  


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