Название: QToolBar как QMenuBar Отправлено: deMax от Октябрь 28, 2013, 15:24 Хочу создать QToolBar, чтобы выглядел примерно как QMenuBar. (хочу справа от меню создать перетаскиваемые панели с инструментами)
Код: QMenu *menu = new QMenu("FILE"); В данном коде не нравиться что рядом с кнопкой файл есть стрелочка на которую раскрывается меню, хотелось бы чтобы меню раскрывалось просто от нажатия на текст и стрелочки не было. Название: Re: QToolBar как QMenu Отправлено: carrygun от Октябрь 29, 2013, 05:27 Если надо очень тупо, то можно по нажатию на action тулбара двигать menu в координаты курсора и показывать.
Название: Re: QToolBar как QMenu Отправлено: deMax от Октябрь 29, 2013, 07:33 Я видел такое меню в одном приложении(от стандартного отличается чуть-чуть цветом и размером), оно правда было перетаскиваемым, но в остальном выглядело практически как меню. сделано на классе ttbxtoolbar (delphi).
а можно меню целиком в виджет засунуть, а потом этот виджет поместить в тулбар? Только придется второй mainwindow создать и поместить меню в menubar, это извращение или так можно сделать? Со вторым mainwindow внутри основного mainwindow подводных камней не появиться? Название: Re: QToolBar как QMenu Отправлено: VPS от Октябрь 29, 2013, 07:45 В данном коде не нравиться что рядом с кнопкой файл есть стрелочка на которую раскрывается меню, хотелось бы чтобы меню раскрывалось просто от нажатия на текст и стрелочки не было. http://www.prog.org.ru/topic_22142_0.html Название: Re: QToolBar как QMenu Отправлено: deMax от Октябрь 29, 2013, 08:12 vps, они QToolButton использовали. Как на них текст писать? Можно без использования стилей стрелку убрать?
Название: Re: QToolBar как QMenu Отправлено: VPS от Октябрь 29, 2013, 08:19 vps, они QToolButton использовали. Как на них текст писать? Также, как и на обычных кнопках.Название: Re: QToolBar как QMenuBar Отправлено: deMax от Октябрь 29, 2013, 08:30 Вот так? Или есть решение красивее?
Код: QToolBar *tbMenu = addToolBar("menu"); Название: Re: QToolBar как QMenuBar Отправлено: VPS от Октябрь 29, 2013, 09:28 Можно без "setText" обойтись:
Код: QMainWindow wnd; Название: Re: QToolBar как QMenuBar Отправлено: deMax от Октябрь 29, 2013, 10:49 Нашел еще отличие, в QMenuBar если открыть всплывающее меню "файл", а потом навести курсор на "правка" то всплывет меню "правка". В моем случае файл продолжает висеть.
Как это реализовать? Как перехватить QToolButton на который навели мышь? Еще убрал правую кнопку мыши на тулбаре tbMenu->setContextMenuPolicy(Qt::PreventContextMenu); Название: Re: QToolBar как QMenuBar Отправлено: deMax от Октябрь 29, 2013, 13:49 Как отследить у QToolButton показывается ли контекстное меню?
Как отследить на какой виджет навели курсор? Кнопки перехватывают mouseMoveEvent у QToolBar. Название: Re: QToolBar как QMenuBar Отправлено: VPS от Октябрь 29, 2013, 23:34 Нашел еще отличие, в QMenuBar если открыть всплывающее меню "файл", а потом навести курсор на "правка" то всплывет меню "правка". В моем случае файл продолжает висеть. Можно как во вложении, но слишком костыльно получилось...Как это реализовать? П.С.: зачем писать самописное меню, если можно в ToolBar впихнуть QMenuBar? Название: Re: QToolBar как QMenuBar Отправлено: deMax от Октябрь 30, 2013, 08:02 П.С.: зачем писать самописное меню, если можно в ToolBar впихнуть QMenuBar? Огромное спасибо, так и сделал. Цитировать Можно как во вложении, но слишком костыльно получилось... У Вас там только одно меню. Мне нужно добавить что то связанное с фокусом, т.е. если у файла показывается всплывающее меню то при нажатии стрелки вправо или наведении курсора мыши на меню правка, контекстное меню для файла закроется и откроется для правки.p.s. как вы добавили QAction к QToolBar? У меня в Creator 2.8.1 клик правой кнопкой мыши на QToolBar вызывает меню: добавить разделитель, преобразовать и удалить. p.s.s. Как сделать чтобы QToolBar обратно прилеплялся? У меня он открепляется, а обратно прикрепляться не хочет, на соседней машине работает. p.s.s.s Как сделать чтобы QToolBar мгновенно прикреплялся к окну, без появления всплывающих полосок для крепления. Конструктор MainWindow, Viewer и Control наследники от виджета. Код: QWidget *wCentral = new QWidget; Название: Re: QToolBar как QMenuBar Отправлено: carrygun от Октябрь 30, 2013, 10:55 p.s. как вы добавили QAction к QToolBar? У меня в Creator 2.8.1 клик правой кнопкой мыши на QToolBar вызывает меню: добавить разделитель, преобразовать и удалить. Action'ы в дизайнере добавляются на панели ниже, под редактором формы, вкладка "Редактор действий" Название: Re: QToolBar как QMenuBar Отправлено: deMax от Октябрь 30, 2013, 13:54 carrygun, спасибо.
Можно ли сделать чтобы тулбар при перетаскивании сразу появлялся внутри окна, без появления синих областей? Название: Re: QToolBar как QMenuBar Отправлено: deMax от Ноябрь 02, 2013, 14:36 Есть ли сторонний toolbar для Qt?
Название: Re: QToolBar как QMenuBar Отправлено: Bepec от Ноябрь 02, 2013, 14:54 Сделай сам. Всё довольно просто.
Название: Re: QToolBar как QMenuBar Отправлено: deMax от Ноябрь 02, 2013, 20:08 Перехватывать движение курсора, и перекомпоновывать виджеты?
Может пример есть какой? |