У меня есть приложение Qt, которое работает на macOS.Я нашел способ изменить цвет заголовка здесь , однако я хочу сделать еще один шаг вперед.Я хочу имитировать заголовок, который используют приложения Slack и Discord.Например:
Как видите, цвет элементов управления в окне простирается до самого верха окна приложения.Я полагаю, что есть два способа выполнить то, что я хочу:
Я могу опираться на код, вставленный выше.Просматривая некоторую документацию для разработчиков Apple, я думаю, что могу создать пару NsWindow
поверх заголовка с любой шириной, которую я хочу, и прикрепить заголовок в качестве родительского для этих окон.Как только я это сделаю, я смогу сделать один и тот же цветной звонок backgroundColor()
для каждого.Конечно, это потребует от меня отслеживания изменения размера элементов управления или окна и настройки NsWindow
s заголовка, и я не уверен, какие (если таковые имеются) проблемы, которые могут вызвать.
Может быть, есть способ установить высоту заголовка на 0
?Интересно, это то, что делает приложение Discord, потому что:
, если вы присмотритесь, в окне редактирования появится надпись "Найти или начать беседу "вертикально выровнены с кнопками закрытия, сворачивания и максимизации, как и метка" Активность ".Но если элементы управления распространяются на верхнюю часть окна приложения, то как окрашиваются стандартные кнопки приложения?
Мне было бы любопытно узнать, как Slack и Discord достигают этого, хотя я знаю, что они не используют Qt.
Я понимаю, что решения Qt не существует, поскольку Qt не рисуетЗаголовок.Я знаю, что это будет зависеть от ОС, но поскольку у меня нет никакого реального опыта работы с Objective-C ++ или работой с Cocoa (весь мой опыт программирования на macOS был стандартным C ++ с не-UI или кодом на основе Qt), я 'Буду признателен за любые предложения или рекомендации!