LINUX.ORG.RU

Client side decorations в Qt

 , ,


0

2

Скажите, а в Qt (точнее, в PyQt, но не думаю, что это имеет значение) возможно сделать декорации окна на стороне клиента, или это фантастика?

Deleted

декорации окна на стороне клиента

А можно поподробнее, о чём речь?

UVV ★★★★★
()

Теоретически можно, практически - не надо, лучше сделай отдельный тулбар.

balsoft ★★
()

Конечно можно. Но работать будет через одно место. И для каждой ОС нужна будет своя реализация.

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

И для каждой ОС нужна будет своя реализация.

Ну, это меня совсем не волнует) А как оно реализуется?

Deleted
()

Можно, конечно.

А как оно реализуется?

Так же, как и везде: отключается рамка у окна, реализуется виджет, который отвечает за тулбар и заголовок окна с кнопками Свернуть|Максимизировать|Закрыть. Реализуется возможность перемещения окна по нажатию на его тулбар. Реализуется возможность ресайза окна при подведении курсора к краям этого окна и т. д.

Много возни и лучше так не делать. Подробнее где-то здесь, попробуй скомпилировать и потыкать этот пример. Наверняка там нихрена толком не реализовано:

https://github.com/johanhelsing/qt-csd-demo

Иногда встречается платформо-зависимые реализации, по типу:

https://habr.com/post/116752/

Там «хачат» стандартный заголовок окна через WinAPI, добавляя туда кнопки и виджеты Qt. На иксах подобные извращения вряд ли прокатят. Пример такого в современном мире это Telegram Desktop под MS Windows. Там кастомный заголовок окна. Хоть и без кнопок.

Ну а классическая реализация CSD для Qt находится где-то в модуле QtWayland и она довольно корявенькая, с кастомным синим заголовком. В KDE должны вроде как заменять эту встроенную реализацию CSD в Qt на SSD (Server-Side Decorations), чтобы было единообразие, а не как тут: https://sourceforge.net/projects/rebeccablackos/, когда у каждой программы на каком-либо тулките — разный заголовок.

EXL ★★★★★
()

Щеленутый Кутераст? О_о

выглядит как говно
работает как говно
юзается как говно

м.б...

mos ★★☆☆☆
()
Ответ на: комментарий от Deleted

Ну, это меня совсем не волнует) А как оно реализуется?

А это зря. Сделать окно без рамки но с тенью - очень творческая задча, что под Linux, что под Windows.

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

И для каждой ОС нужна будет своя реализация.

Интересно, а как работает CSD в GTK-прогаммах на Windows? Или там всё равно пририсовывается системный заголовок? Не могу найти скриншоты чего-нибудь CSD-шного под Вендой.

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

А если сделать однопиксельную рамку, одинаковую по толщине со всех 4 сторон, а кнопки управления окном просто продублировать в произвольном порядке, как в настоящем CSD?

Deleted
()
Ответ на: комментарий от meliafaro

Надеешься, что в Qt будет меньше функционала?

Не надеюсь, а хочу чтобы конкретно этого функционала не было нигде, потому что всё что он может - нарушать POLA, ломать UX и приложение целиком в любом WM отходящем он убогой концепции вендообразных окошек.

Или ты один из тех, кто мечтает закопать Культи в целом?

Это ты, видимо, мечтаешь, если даже название тулкита намеренно коверкаешь. Я-то считаю его единственным адекватным из представленных на рынке.

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

Не надеюсь, а хочу чтобы конкретно этого функционала не было нигде, потому что всё что он может - нарушать POLA, ломать UX и приложение целиком в любом WM отходящем он убогой концепции вендообразных окошек.

То есть все приложения должны выглядеть в соответствии с твоими вкусами (довольно-таки ретроградными, судя по всему), но UX-фашисты всё равно создатели GTK?)

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

А если сделать однопиксельную рамку, одинаковую по толщине со всех 4 сторон, а кнопки управления окном просто продублировать в произвольном порядке, как в настоящем CSD?

Представь себе, насколько убого это будет выглядеть в тайловом wm без рамок и декораций

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

Мне-то что, я только Плазмой пользуюсь)

Deleted
()
Ответ на: комментарий от Polugnom

В дисяточке не очень - шапка окна как в вендоуз 7 с темой win32.

C Adwaita оно выглядит чисто как в Gnome.

Хотя если покопаться в CSS и сделать свою тему или взять существующую - то получится все.

ArkaDOSik ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.