- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不明白是什么导致了 QMenuBar 的这种奇怪行为:
当我在头文件 (dialog.h) 中声明时,不显示菜单栏:
#include <QMenuBar>
#include <QMenu>
...
private:
QMenuBar* bar;
QMenu* file;
...
在构造函数的源文件中:
...
QVBoxLayout* mainLayout = new QVBoxLayout;
bar = new QMenuBar(this);
file = new QMenu("File");
bar->addMenu(file);
mainLayout->addWidget(bar);
this->setLayout(mainLayout);
...
如果我直接在构造函数中创建一个菜单栏(而不是在头文件中声明它),一切正常并且菜单栏出现在表单上:
...
QMenuBar * b = new QMenuBar(this);
QMenu * m = new QMenu("File1");
b->addMenu(m);
mainLayout->addWidget(b);
this->setLayout(mainLayout);
...
在 Windows 上 我没有遇到这样的问题。此行为仅在 Linux 上。
我做错了什么?我有什么误解吗?
我有 Qt 4.8.3 和 gcc 版本 4.4.7。
这是一个具有正确菜单栏行为的表单:
最佳答案
运行我获得的代码:
QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
事实上,删除2行
mainLayout->addWidget(bar);
this->setLayout(mainLayout);
我有菜单(实际上在应用程序和 Unity 顶部栏中)。
但是,如果它是您窗口中的主菜单,则不要创建 QMenuBar,而是使用
menuBar()->addMenu(file);
QMainWindow::menuBar ()
返回主窗口的菜单栏。此外,如果菜单栏不存在,此函数会创建并返回一个空菜单栏。
关于c++ - QMenuBar在Linux中不以窗体显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441647/
Qt3 曾经为 QMenuBar::insertItem 提供 QWidget* 参数。这样,任何自定义小部件都可以添加到菜单栏 - 例如时钟小部件。在Qt4中没有这样的重载方法。达到相同目标(将自定
当窗口失去焦点时,如何禁止更改 QMenuBar 中的菜单项外观? 现在,当窗口获得焦点时,菜单项清晰可见,但当它失去焦点时,项目是灰色的,看起来像禁用了。我希望它们始终看起来正常。 我的平台是 Wi
我正在尝试将 QMenuBar 添加到 QWizardPage QMenuBar *menuBar = new QMenuBar; menuBar->setNativeMenuBar(false);
我有QMenu,其中包含子菜单: QMenu menu; // Add some submenus menu.addMenu(new QMenu("1", menu)); menu.addMenu(n
我想在 QMenuBar 的另一侧堆叠一些 QPushButton 对象。 这就是我的窗口现在的样子: 这就是我想要的样子(我已经对图像进行了 Photoshop 处理): 我知道在 motif 小部
这是我的代码片段: void MainWindow::on_TestButton_triggered() { QMenu *m = menuBar()->addMenu("TestMenu")
我有一个 QToolBar 和 QMenuBar。 QMenuBar 只有一个菜单项(我做的),所以 QMenuBar 的行几乎是空白的。 我想让 QMenuBar 成为 QToolbar 的一部分,
我正在尝试找到一种在 QTabWidget 下插入 QMenuBar 的方法。找不到任何解决方案,尝试从 QMainWindow 生成的 .ui 文件中获取 QMenuBar intilization
我找不到在 Qt4 的菜单栏中隐藏项目的非弃用方法。 这篇文章:http://qt.nokia.com/developer/faqs/585给出了一种使用已弃用的 Qt3 兼容性函数的方法。 有没有更
首先,我对 Qt 和 Qt Creator 还很陌生,所以如果这是一个愚蠢的问题,请放轻松。 我正在练习使用 Qt Creator,玩弄 CSS 样式。特别是,我试图让菜单栏及其菜单看起来像这样(在
我使用在设计器中设置的布局在 QDialog 中添加了 QMenuBar,然后手动添加了 QMenuBar,当运行应用程序和 QDialog 运行时,我看到 QMenuBar 只有菜单标题而没有打开的
我有一个小Ui。 它有一个主窗口。顶部是 QMenuBar。 When I run the program ( which has no error messages ) everything fun
我遇到了一个让我抓狂的问题。我想让 QMenuBar 只有在鼠标悬停时才可见,否则它应该被隐藏。 到目前为止我得到这个“工作”: class Hidden_Menubar(QtGui.QMenuBar
我在Windows7平台上使用Qt5: Qt Creator 版本为:v3.3.2. Qt 版本 5.5.1 和 MinGW 32 位。 目前,在我的菜单栏中: Configuration - Rep
如果用户按住特定键,我想修改 QAction。您可以在 Mac 上看到类似的行为,例如,如果您拉下 Apple 菜单并按下/释放选项键 - “关于 native ”更改为“系统信息...”等。这是我想
我的菜单项是通过 UI 设计器添加的。我似乎找不到合适的解决方案。我在 IRC 上询问过这个解决方案 How do I set QMenu to align to the right of a too
我需要用 Python 编写一个带有用户界面的应用程序。我决定使用 PyQt4 来制作 GUI。它包含在 Python 的 Anaconda 发行版中。 要让 GUI 在 4K 显示器上流畅运行并非易
我的 pyqt5 应用程序中有一个 QMenuBar,我正在尝试对其进行装饰。我只想更改 id='update' 的 QAction 的颜色,而其他 QAction 保持不变,但它无法正常工作。这是我
我很难让 QMenuBar 在 Mac OS X (Snow Leopard) 下显示带有 QAction 的 QMenu。 这是我用于创建菜单的代码: void ClientWindow::setU
我在 Mac OS X 10.7.4 上使用 Qt 4.7.4,我正在尝试添加一个 QMenuBar 和 QMenu 到我的应用程序没有成功。 在寻找示例时,我找到了 Basic Layouts Wi
我是一名优秀的程序员,十分优秀!