LINUX.ORG.RU

Добавление нестандартных кнопок в QMenuBar

 


0

1

Тут задался вопросом как можно организовать QMenubar с нестандартной кнопкой (ака WinStyle RoundButton).

Никакой конкретной задачи не стоит, просто интересно, каким образом это можно реализовать?

★★★★★
Ответ на: комментарий от CrossFire

Если честно, то сам я даже не знаю как оно до конца должно выглядеть :)

Допустим пусть я хочу кнопку в виде ромба.

Так вот он наверное будет как будто врезавшийся в панель или приклеянный сверху, при этом выступающий.

Сейчас попробую нарисовать свою хотелку :)

deterok ★★★★★
() автор топика
Ответ на: комментарий от CrossFire

Не могу нарисовать, не умею.

В общем логику я выше описал.

Думаю она тупо должна быть приклеена сверху панели и иметь возможность выступать за нее (на свободное пространство?).

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

Рисуй как это меню должно выглядеть в Mac OS X.

asaw ★★★★★
()
Ответ на: комментарий от deterok

Для макоси или для того же линукса с global menu bar типа дефолтной убунты ты это и не изобразишь. Поэтому в кроссплатформенный QMenubar это бессмысленно пытаться воткнуть. А вот что-нибудь такое в качестве альтернативы: http://www.devmachines.com/qtitanribbon-overview.html может быть вполне осмысленным.

asaw ★★★★★
()
Ответ на: комментарий от deterok

Допустим пусть я хочу кнопку в виде ромба.

Так вот он наверное будет как будто врезавшийся в панель или приклеянный сверху, при этом выступающий.

Думаю она тупо должна быть приклеена сверху панели и иметь возможность выступать за нее (на свободное пространство?).

Чтобы получить кнопку любой формы и размера, вместе с тенями — нужно рисовать и вставлять изображениями. Можно извратиться и захардкодить её координаты, чтобы она наезжала на панель как надо, первый пункт оставить пустым, но не уверен, что это будет хорошо работать.

P.S. Про глобал меню уже сказали, но если нужно только под специфическое окружение, по хорошему писать свою реализацию меню.

CrossFire ★★★★★
()
Последнее исправление: CrossFire (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.