Название: Панель рабочего стола (desktop panel) Отправлено: Akon от Ноябрь 24, 2011, 15:42 Кто знает, есть ли Qt компонент, реализующий сабж?
Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 08:59 Пожалуй не лишним будет уточнить. Какая ОС, и что ты подразумеваешь под "Панель рабочего стола (desktop panel)".
Хотя можно подумать что ты о Панели задач ведешь речь. Так вот она легко реализуется самим тобой. Всего то ярлыки навесить, на секции поделить, и прилипание обдумать :) Название: Re: Панель рабочего стола (desktop panel) Отправлено: ecspertiza от Ноябрь 25, 2011, 12:58 Помнится в Delphi 7 был компонент рабочего стола, кидаешь его на формочку и ала рабочий стол виндовый у тебя на форме. Может это про него речь ? но ИМХО эт изврат чтоли :)
Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 13:26 Ждем ответа ТС. А так доквиджет или тулбар подойдут для этих целей :)
PS в исполнении извращенных желаний наш опыт увеличивается быстрее :) Название: Re: Панель рабочего стола (desktop panel) Отправлено: Akon от Ноябрь 25, 2011, 13:34 Цитировать Пожалуй не лишним будет уточнить. Какая ОС, и что ты подразумеваешь под "Панель рабочего стола (desktop panel)". А какая ось приходит на ум при словах "Qt компонент"? Конечно, хотелось бы по максимуму.Панель рабочего стола - это панель, размещающаяся обычно с краев рабочего стола и которая не перекрывается окнами программ. Панель задач с кпопкой "Пуск" - да, пример такой панели. В моем случае - это типичная панель-лончер. Цитировать Хотя можно подумать что ты о Панели задач ведешь речь. Так вот она легко реализуется самим тобой. Да не вопрос, и сам то я способен на очень многое ;DНазвание: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 13:42 Тогда тебе полный и четкий ответ.
Нет такого компонента. Почему? Берется QWidget, реализуется функция прилипания к краям экрана и устанавливается флаг поверх всех окон. Готовая заготовка. Делай не хочу что хошь. Название: Re: Панель рабочего стола (desktop panel) Отправлено: Akon от Ноябрь 25, 2011, 14:32 Ответ неверный (хоть полный и четкий).
Панели рабочего стола реализуются через АПИ оболочки, например, по винду это COM-интерфейсы. В базовом QWidget нет такого кода. Флаг "поверх всех окон" это не то, например, он не изменит геометрию рабочего стола с учетом данного виджета, см. QDesktopWidget::availableGeometry(), QDesktopWidget::screenGeometry(). Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 14:43 Твоя реплика печальна.
Надеюсь ты понимаешь, что API не является частью Qt. API - это часть ОС. и она меняется от 1 до другой. В Qt можно сделать программу, но менять параметры системы можно ТОЛЬКО нативным API. В общем ты путаешь Qt и API. Больше так не делай :) Ручками делай через API. стандартные классы Qt работают и предназначены для мультиплатформенных приложений. Название: Re: Панель рабочего стола (desktop panel) Отправлено: Akon от Ноябрь 25, 2011, 15:02 За все проведенное время на форуме, пожалуй, это первый негативный ответ в мой адрес >:(
Ну да ладно, попробую объяснить. Когда говорят о компонентах, то в первую очередь интересует их интерфейс, а не реализация. "Qt компонент" это не значит, что он реализован исключительно средствами Qt, а значит, что он имеет интерфейс Qt (C++ + фишки Qt). Компонент инкапсулирует платформенно зависимый код под единый интерфейс. Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 15:12 Ну извини, если толерантное слово печалька тебя огорчило :)
добавлю - Qt компонент значит именно Qt. В твоем случае нужен компонент с интерфейсом Qt, полностью самописный :) Яснее надо выражаться товарисч! Нет, в библиотеке Qt ты такого не найдешь. Скажем так - ты неверно выбрал раздел для создания темы, есть раздел "Дополнительные компоненты", который отвечает твоим требованиям. Но сомневаюсь, что такой будет :) Во всяком случае я еще не видел программ, которые использовали такое API, а значит это непросто :-D Заставляет задуматься - мб ты что то неправильно представляешь, или тебе нужно что-то другое? PS за негатив благодари свое субъективное мнение, четкое, полное, показывающее мою правоту, но на тот момент не осознанное тобой :o Цитировать Ответ неверный (хоть полный и четкий). Панели рабочего стола реализуются через АПИ оболочки, например, по винду это COM-интерфейсы. В базовом QWidget нет такого кода. Флаг "поверх всех окон" это не то, например, он не изменит геометрию рабочего стола с учетом данного виджета, см. QDesktopWidget::availableGeometry(), QDesktopWidget::screenGeometry(). Название: Re: Панель рабочего стола (desktop panel) Отправлено: Пантер от Ноябрь 25, 2011, 15:27 Пиплы, давайте без ссор. Ну, или в личке поругайтесь. ;)
Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Ноябрь 25, 2011, 15:34 оффтоп: ссор не было, все счастливы, гуляют по траффке :)
По теме: ТС ты распиши свой сабж. К примеру: Цитировать Кто знает, есть ли Qt компонент, реализующий аналог панели задач Windows? Необходимые ф-ции: - прилипание к краям экранов, - уменьшение рабочего стола на свою величину - возможность размещения ярлыков Перечисли что тебе надо точно :) Мб я и сделаю на досуге ^^ Название: Re: Панель рабочего стола (desktop panel) Отправлено: lit-uriy от Ноябрь 25, 2011, 21:18 >>добавлю - Qt компонент значит именно Qt.
НЕТ. ТС прав - "он имеет интерфейс Qt", примеры на qt-apps.org. 2 Akon Мне не приходилось встречать требуемый тебе компонент, так что бери API конкретной системы и пиши. Название: Re: Панель рабочего стола (desktop panel) Отправлено: Racheengel от Декабрь 01, 2011, 15:14 Насколько я понимаю, автор ищет нечно с Qt API, которое бы позволило управлять виндовым десктопом (ярлычки там двигать, волпейперы менять и т.д.). В этом случае, ни COM, ни системный API интерфейс как раз не при чем, т.к. нужен фактически враппер с функциями типа myDesktop->setWallpaper(blablabla).
ЗЫ. Не путайте Qt компоненты и COM. Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Декабрь 02, 2011, 06:59 Насколько я понимаю, автор ищет нечно с Qt API, которое бы позволило управлять виндовым десктопом (ярлычки там двигать, волпейперы менять и т.д.). В этом случае, ни COM, ни системный API интерфейс как раз не при чем, т.к. нужен фактически враппер с функциями типа myDesktop->setWallpaper(blablabla). ЗЫ. Не путайте Qt компоненты и COM. Вы немного неправильно поняли, ему панель задач нужна. Тулбар с оповещением системы о своем месторасположении и изменении доступных размеров рабочего стола :) Название: Re: Панель рабочего стола (desktop panel) Отправлено: Racheengel от Декабрь 02, 2011, 11:13 а, действительно :) что-то недоглядел... но тогда можно и правда тулбаром сделать, с флагом "поверх всех". Правда, оно еще как-то должно системе сообщать, сколько места для десктопа выделить, в этом может быть трабла...
Название: Re: Панель рабочего стола (desktop panel) Отправлено: Bepec от Декабрь 02, 2011, 12:28 В том и закавыка, что ТС забыл о теме и своих конкретных требований не указал :)
А так бы под WinApi давно сделал бы :) Название: Re: Панель рабочего стола (desktop panel) Отправлено: Akon от Декабрь 02, 2011, 20:01 desktop panel - имхо, термин понятный, поэтому и указал его в названии темы. Когда-то делал такую панель под вин, делается через ShellApi::SHAppBarMessage().
Если нужны какие-то конкретные функциональные требования, то смотреть доку на упомянутую функцию. |