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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как сделать интерфейс похожий на Ovi Suite ?  (Прочитано 11287 раз)
Padawan
Гость
« : Июнь 24, 2010, 22:21 »

Меня интересует заголовок окна, в котором сразу и меню, и имя программы и стандартные кнопки операционки ?
Кто вдруг не видел, вот
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июнь 24, 2010, 22:48 »

убирать стандартную декорацию и рисовать свою.
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Июнь 24, 2010, 22:56 »

есть такая тема:  Кто видел Ribbon на Qt?, я думаю тебе будет полезно её прочитать
Записан

Юра.
JamS007
Гость
« Ответ #3 : Июнь 25, 2010, 11:33 »

Тут дело 2х-3х часов. Как уже посоветовал lit-uriy, лучше всего убрать стандартный заголовок окна, и рисовать свой, а потом, с помощью CSS задать стили уже другим элементам. Больше всего мороки будет перенапрвить вызов на перемещение окна, с бывшего заголовка на новый.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Июнь 25, 2010, 12:06 »

Цитировать
Тут дело 2х-3х часов
И что сам реализовал функции Window Manager-a за это время?
Не верю.
Записан

Qt 5.11/4.8.7 (X11/Win)
ufna
Гость
« Ответ #5 : Июнь 25, 2010, 12:11 »

Если  под этими функциями понимать перемещение окна, изменение его размеров и три вот этих кнопки "свернуть" и т.п. - то тут ничего сложного, я вот только что такую хрень для проекта сделал.

Ну а менюшки как здесь добавить - наверное реально CSS поможет.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Июнь 25, 2010, 12:21 »

Перемещающее окошко сделать не сложно.
Сложно заложить все функции WM. Ведь это окно должно иметь весь полный функционал стандартного окна.
Причём не нужно забывать и о портабельности. Под X-ами много своих тонкостей.
Для справки, размер qmdisubwindow.cpp 3500 строк. И QMdiSubWindow не имеет связи с WM.
Так что работа эта довольно-таки серъёзная.
Записан

Qt 5.11/4.8.7 (X11/Win)
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Июнь 25, 2010, 15:48 »

>>Сложно заложить все функции WM
а я на приведённом скрине акромя трёх кнопок ни какого функционала не вижу. Да и потом, при чём здесь функционал оконного менеджера? Это отдельная софтина и нет и намёка на необходимость её переписывать.
Записан

Юра.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #8 : Июнь 25, 2010, 15:56 »

Цитировать
а я на приведённом скрине акромя трёх кнопок ни какого функционала не вижу. Да и потом, при чём здесь функционал оконного менеджера? Это отдельная софтина и нет и намёка на необходимость её переписывать.
Кнопку "Maximize" видете? Как окно будет расширяться в пределах текущего десктопа и не налезать на панель задач?
Как будете кидать такое окно на другой десктоп? Как включать видимость на всех десктопах?
Кто будет это всё делать? Для обычных окон это делает WM. Здесь мы его отрубили.
Можно конечно забить на все эти тонкости, но мы же ведь пишем user-friendly софт?
« Последнее редактирование: Июнь 25, 2010, 15:58 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #9 : Июнь 25, 2010, 16:38 »

Кнопку "Maximize" видете? Как окно будет расширяться в пределах текущего десктопа и не налезать на панель задач?
Как будете кидать такое окно на другой десктоп? Как включать видимость на всех десктопах?
Кто будет это всё делать? Для обычных окон это делает WM. Здесь мы его отрубили.
Можно конечно забить на все эти тонкости, но мы же ведь пишем user-friendly софт?

Создается такое впечатление что вы не ведаете о том, о чем говорите.

QWidget::showMaximized()
QWidget::showMinimized();
QWidget::close();

Что еще забыл? О каком WM мы говорим? Мы только прячем заголовок и реализуем совой.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Июнь 25, 2010, 16:56 »

Цитировать
Создается такое впечатление что вы не ведаете о том, о чем говорите.
У меня точно такое же про вас.

Цитировать
QWidget::showMaximized()
QWidget::showMinimized();
Допустим на X-ах Qt просто шлёт соответствующее сообщение WM и больше ничего.

Цитировать
Что еще забыл? О каком WM мы говорим? Мы только прячем заголовок и реализуем совой.
Каким образом вы будете прятать заголовок?
Записан

Qt 5.11/4.8.7 (X11/Win)
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #11 : Июнь 25, 2010, 17:06 »

Допустим на X-ах Qt просто шлёт соответствующее сообщение WM и больше ничего.

А что нам еще нужно?

Каким образом вы будете прятать заголовок?

Qt::FramelessWindowHint
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Rcus
Гость
« Ответ #12 : Июнь 25, 2010, 17:06 »

Нет ничего сложного в реализации базовых возможностей (\see Chromium). Но надо отдавать себе отчет в том что реализовать нативный look&feel (особенно feel) довольно сложно (те же декорации Chromium'а ведут себя не так как KWin'овские - нет подсветки, не так обрабатывается rmb, mmb по maximize).
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #13 : Июнь 25, 2010, 17:10 »

Цитировать
Rcus
+1
Записан

Qt 5.11/4.8.7 (X11/Win)
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #14 : Июнь 25, 2010, 17:28 »

Цитировать
Qt::FramelessWindowHint
Да, время не стоит на месте.
Помнится MWMHints мало кто правильно поддерживал.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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