Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
1

Сокрытие кнопки окна с taskbar

22.01.2011, 16:34. Просмотров 2439. Ответов 9
Метки нет (Все метки)

Добрый день.
Возникла такая ситуация: нужно скрыть кнопку окна с панели задач, причём и для Windows и для Linux. Судя по результатам поиска, тема актуальная, однако ответа я нигде не нашёл.
Qt 4.6. Заранее спасибо.

Не по теме:

Администраторам:
Оригинальное название темы "Сокрытие кнопки с панели задач" не было принято форумом:
"Название темы не должно содержать слов Задача, HELP, Помогите, Плз, Проблема, Спасите и др. Дайте теме более полное и точное название...", ну и т. д.
Я понимаю, что вас достали подобные темы, но "панель задач" - это термин. Было бы разумно добавить механизм исключений по последовательностям слов. Спасибо.

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2011, 16:34
Ответы с готовыми решениями:

Кнопки окна QT
Здравстуйте, как в следующей программе заменить кнопки "Yes" и "No" так, чтобы текст был на русском...

Пользовательские кнопки в заголовке окна
Сразу извиняюсь, если название темы недостаточно чётко отражает суть вопроса. Мне необходимо...

Закрытие окна по нажатию кнопки или клику вне его
Всем доброго времени суток. Несколько дней мучаюсь не могу придумать как реализовать. Есть окно в...

QML Dialog: как изловчиться и убрать кнопки из заголовка окна?
Всем привет. Проблема следующая. У меня есть окно QML Dialog. Оно используется для...

9
376 / 356 / 23
Регистрация: 14.12.2010
Сообщений: 1,265
22.01.2011, 19:14 2
Qt здесь не причем, показом окна управляет оконный менеджер ОС, применительно к Windows появлением окна можно управлять функцией ShowWindow() (WinAPI), у линуха своя какая-то функция есть.
0
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
22.01.2011, 20:16  [ТС] 3
deadlock, спасибо за ответ.

То есть мне нужно сделать индивидуальный код код для Windows, KDE, Gnome, IceWM, OpenBox, Xfce и так далее? Или в Linux есть унифицированный API для всех WM?

Спасибо.
0
Эксперт С++
8141 / 5914 / 585
Регистрация: 10.12.2010
Сообщений: 27,420
Записей в блоге: 24
09.07.2014, 21:37 4
Актуально, возможно все таки кто знает может все же есть возможность управлять иконкой окна в таскбаре ?
Конкретно в моем случае приложение не должно отображаться в таскбаре так как для этого задействуется системный трей.

Добавлено через 38 минут
После прошаривания интернета, все же нашел решение:

https://www.easycoding.org/2014/05/0...latformax.html

Кому лень вглядываться в чужой код, выложу главный кусок кода, а именно переопределение
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
void MainWindow::changeEvent(QEvent *event)
{
    QMainWindow::changeEvent(event);
    if (event -> type() == QEvent::WindowStateChange)
    {
        if (isMinimized())
        {
           hide();
        }
    }
}
Корректность пока не проверял.
0
1394 / 1251 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
09.07.2014, 23:21 5
Avazart, а как же: http://qt-project.org/doc/note_revisions/79/117/view
0
Эксперт С++
8141 / 5914 / 585
Регистрация: 10.12.2010
Сообщений: 27,420
Записей в блоге: 24
09.07.2014, 23:45 6
Как бы мягко выразиться, не то что надо:
мне нужно сворачивание в трей, а не окно в стиле "инструмента"
(вид окна меняется, пропадают кнопки свернуть/развернуть, кнопка закрыть работает как свернуть)
0
1394 / 1251 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
09.07.2014, 23:46 7
А чем если не секрет не подошел стандартные пример трея?
http://qt-project.org/doc/qt-4.8/desktop-systray.html
Там нет changeEvent, но суть та же.
0
Эксперт С++
8141 / 5914 / 585
Регистрация: 10.12.2010
Сообщений: 27,420
Записей в блоге: 24
09.07.2014, 23:51 8
А где там "прячится" иконка в таскбаре ?

Мне нужно обычное поведение, как в скайпе, но только что бы кнопка закрыть не меняла свою ф-цию, на сворачивание.
0
1394 / 1251 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.07.2014, 00:09 9
Через тот же hide(), что и у вас.

По сути убрать иконку можно просто спрятав главное окно через hide().
0
Эксперт С++
8141 / 5914 / 585
Регистрация: 10.12.2010
Сообщений: 27,420
Записей в блоге: 24
10.07.2014, 17:16 10
Цитата Сообщение от RazrFalcon Посмотреть сообщение
По сути убрать иконку можно просто спрятав главное окно через hide().
Не будет работать если сворачивать через кнопки в заголовке окна или по клику на иконке в панели задач.

Необходима переопределение:
C++ (Qt)
1
virtual void changeEvent(QEvent *event);
а его я не наблюдаю в примере.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2014, 17:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сокрытие окна программы
Добрый день. Такой вопрос. Как в программе сделать так, чтобы при запуске окно скрывалось, но всё...

WPF(XAML) анимация сокрытие окна
Доброго дня. Рисую окно, по нажатию на кнопку часть окна должна скрываться, оставляя нажатую...

Сокрытие части окна при первом вызове
Доброго дня. Рисую интерфейс и сей час возник вопрос по данной теме. У меня есть одно окно, оно...

Предотвратить сворачивание окна по нажатию кнопки Windows «Свернуть все окна»
Здравствуйте, пишу что то вроде гаджета на c# wpf, и возник вопрос: можно ли как нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.