Я хотел бы получить с помощью QML меню с одним пунктом меню, как это делает хром. У него есть эта кнопка с тремя горизонтальными полосами, и когда вы нажимаете на нее, вы получаете одно меню. Последние версии Firefox также следуют тому же принципу. Это позволяет не тратить слишком много горизонтального пространства в графическом интерфейсе приложения, выделять обычные меню, занимающие всю ширину окна.
Мне не удалось воспроизвести именно этот графический интерфейс с QML. Из того, что я видел, вы можете либо использовать QML ApplicationWindow
, а затем MenuBar
, но тогда он занимает всю ширину окна... Или иметь кнопку-переключатель для запуска меню, а затем использовать автономный Menu
и его метод popup()
, но затем он всплывает прямо под курсором, а не точно под кнопкой, чтобы открыть меню, что выглядит не очень хорошо. Это действительно больше злоупотребляет механизмом контекстного меню.
Я мог бы создать поддельное меню, которое было бы настраиваемым виджетом в моем окне, но тогда оно не могло бы расширяться за пределы окна моего приложения. Такое поведение почти обязательно, потому что я поставлю эту кнопку в крайний правый угол окна, как это делает хром.
Можно ли добиться именно такого поведения в чистом QML (без C++)?