- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有QMenu
,其中包含子菜单:
QMenu menu;
// Add some submenus
menu.addMenu(new QMenu("1", menu));
menu.addMenu(new QMenu("2", menu));
menu.addMenu(new QMenu("3", menu));
我想将这些子菜单从 QMenu
移动到 QMenuBar
:
QMenuBar* menubar = convertFromQMenu(&menu);
我认为 convertFromQMenu
的实现可能如下所示:
QMenuBar* convertFromQMenu(QMenu* menu) {
QMenuBar *menubar = new QMenuBar();
/*
for(QMenu* menu: menu->menus()) {
menu.setParent(menubar);
menubar.addMenu(menu);
}
*/
return menubar;
}
但是,注释的代码无法编译。
如何解决这个问题?
最佳答案
你不需要那种“转换”。如果你仔细阅读Qt官方doc关于 QMenuBar 和 addMenu() 成员,您可以轻松地将 QMenu 添加到 QMenuBar 中:
QMenu menu;
// Add some menus
menu.add (new QMenu("1", menu));
menu.add (new QMenu("2", menu));
menu.add (new QMenu("3", menu));
QMenuBar menubar;
menubar.addMenu(&menu);
如果您想使用 QMainWindow 菜单栏,文档指出:
In most main window style applications you would use the menuBar() function provided in QMainWindow, adding QMenus to the menu bar and adding QActions to the pop-up menus.
Example (from the Menus example):
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newAct);
关于c++ - 如何将 QMenu 转换为 QMenuBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52427391/
大家好 我有一些代码根据一些数据生成动态填充的 QMenu(我将其称为 thisMenu)。创建 QMenu thisMenu,将一些“主”QWidget 作为父级,并添加到此 QWidget 中的
我在应用程序中的 MainWindow 之上构建了一个 QMenu MainMenu 。由于每个人都习惯了,我有以下 QMenu 主菜单: File - Edit - SuperHeavyExpert
如果没有其他原因,只是为了我自己的消遣,我想写一个全局插入运算符,这样我就可以使用花哨的代码了: aQMenu addAction(action); return menu; } 编译
Reading the Qt5 source code ,我注意到 QLabel::contextMenuEvent() 使用这种(非阻塞)样式: QMenu *menu = ... menu->se
Reading the Qt5 source code ,我注意到 QLabel::contextMenuEvent() 使用这种(非阻塞)样式: QMenu *menu = ... menu->se
使用 Qt5,假设我有一个实现其自己的上下文菜单的控件。并假设在某些情况下我想将一些项目添加到标准上下文菜单。因此,为此,我创建了一个临时 QMenu,向其中添加一些内容并附加标准菜单。像这样的东西:
代码示例: auto fileMenu = std::make_unique(this->menuBar()->addMenu("First")); fileMenu->addAction("AFir
我正在使用 QT4 并动态地向 QMenu 添加条目。是否可以对 QMenu 中的条目进行排序而不删除它并创建一个新条目? 我原本以为有一个函数可以在特定位置插入,因此我可以在插入时进行排序,但我一直
我使用 Windows,我想将样式表设置为 QMenu 以赋予其半透明背景。为了让它起作用,我首先设置 FramelessWindowHint,然后设置 WA_TranslucentBackgroun
我的情况非常具体。我想将 QAction 放入 QToolbar 并达到以下行为: 可检查带有图标的QAction。 右侧的经典箭头,用于显示菜单 通过按此箭头,我的 QDialog 应该出现在屏幕上
我有一个带有半透明背景和圆角边缘(边框半径)的 QMenu。不幸的是,Windows 7 为该菜单绘制了阴影,该阴影不适合圆角边缘。它是为普通矩形菜单绘制的阴影。 有没有 - 一种完全禁用 QMenu
我希望主窗口中有一个菜单栏,并且能够从其他类设置菜单栏中的菜单。使用 setMenuWidget 命令将覆盖第一个菜单选项,如代码所示。在我设置菜单的类中,我想我可能需要只设置一个菜单而不是菜单栏,然
我正在使用一个执行一些方法的自定义 QMenu。该菜单具有三个选项:删除行选项、切换变量选项和调试选项(打印切换变量的值)。代码未正确执行。有时调试按钮不起作用,它会突然被执行多次。切换选项需要单击两
我正在玩弄提到的 Qt 演示浏览器示例 here并在我尝试对书签处理代码进行微小更改时注意到异常情况。 我的目的是让工具栏中的书签在新选项卡而不是现有选项卡中打开。它非常适合直接位于书签选项卡上的书签
我有几个struct,带有enum和std::string,我用来填充QComboBox使用 for() 循环与他们一起使用。像这样: struct Struct { enum Enum
QMenu 显示在 QLineEdit 右键单击上。问题:如何修改此代码以在单击鼠标左键时也显示菜单? from PyQt4.QtCore import * from PyQt4.QtGui im
是否有信号/事件可用于 QMenu 撕下? 我有一个 QMenu 子类,其中有 .setTearOffEnabled(True),但如果用户点击可撕下的“栏”。 我无法使用 QtCore.Qt.Win
我有一个弹出式 QMenu 在 QListView 中显示很 multimap 标: QMenu*menu=createMenu(); QListView*list=createList(); QWi
我正在尝试构建一个菜单,其中包含一些在 QT 中不可交互的项目。我在我的 MyCustomMenuClass 中继承了 QMenu。我正在尝试将部分标题添加到我的菜单中,以便用户更清楚。 例如,它应该
我想用 QPushButton 和 QMenu 构建一个下拉列表控件,如下所示: QPushButton* menuBt = new QPushButton("Please select"); men
我是一名优秀的程序员,十分优秀!