我想在QPushButton
的另一侧堆叠一些QMenuBar
个对象。
这就是我的窗口现在的样子:
这就是我想要它的样子(我已经对照片进行了图片处理):
我知道在motif
小部件样式中,帮助菜单与右侧对齐,但我坚持使用plastique
,所以这对我来说不是问题。
我正在使用Qt4.8。有什么想法吗?
答案 0 :(得分:9)
QMenuBar有一个setCornerWidget
函数,可以将小部件(可能包含整个布局)设置为短号小部件。
答案 1 :(得分:2)
QMainWindow::setMenuWidget()
可用于将任何窗口小部件设置为主窗口的菜单栏窗口小部件。使用适当的布局,您可以使用以下内容来自定义菜单栏(MainWindowImpl
是QMainWindow
的子类):
void MainWindowImpl::setupMenubar() {
QWidget* menuWidget = new QWidget(this);
QGridLayout* menuWidgetLayout = new QGridLayout(menuWidget);
menuWidget->setLayout(menuWidgetLayout);
// Add the menu bar and all tool buttons to the widget
menuWidgetLayout->addWidget(theMenubar, 0, 0, 1,1);
menuWidgetLayout->addWidget(new QToolButton(), 0, 1, 1, 1);
menuWidgetLayout->addWidget(new QToolButton(), 0, 2, 1, 1);
// set the custom widget as the main window's menu widget
setMenuWidget(menuWidget);
}
theMenubar
指向包含应用程序主菜单栏的QMenuBar
。