水瓶丫头站住 2025-03-12 10:13 采纳率: 100%
浏览 23
已结题

QConboBox下拉菜单可不可以直接添加QAction

QConboBox下拉菜单可不可以直接添加QAction,注意是不是用QConboBox的addAction去添加,这样不显示,我就是想直接将QMainWindow的QAction添加到QConboBox菜单下,这样主界面QMenu下的QAction和QComboBox下的QAction状态可以保持一致

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2025-03-12 10:13
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    QComboBox下拉菜单不能直接添加QAction

    QComboBox下拉菜单只能添加QActionItem对象,而不能直接添加QAction对象。QActionItem对象是QComboBox的专门设计的子类,可以包含文本、图标和其他信息。

    如果你想在QComboBox下拉菜单中显示QAction对象,可以使用QActionItem对象来包装QAction对象。下面是一个简单的示例:

    QAction *action = new QAction("Action", this);
    QActionItem *actionItem = new QActionItem(action);
    comboBox->addItem(actionItem);
    

    在上面的代码中,我们创建了一个QAction对象,然后创建了一个QActionItem对象,并将QAction对象作为QActionItem对象的参数。最后,我们将QActionItem对象添加到QComboBox下拉菜单中。

    如果你想在QComboBox下拉菜单中显示QMainWindow的QAction对象,可以将QAction对象添加到QMainWindow的menuBar中,然后将menuBar添加到QComboBox下拉菜单中。下面是一个简单的示例:

    QMainWindow *mainWindow = new QMainWindow();
    QAction *action = new QAction("Action", mainWindow);
    mainWindow->menuBar()->addAction(action);
    
    QComboBox *comboBox = new QComboBox();
    comboBox->addItem(mainWindow->menuBar()->title());
    

    在上面的代码中,我们创建了一个QMainWindow对象,然后创建了一个QAction对象,并将其添加到QMainWindow的menuBar中。最后,我们将menuBar的title添加到QComboBox下拉菜单中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日