Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qtoolbar切换在Qmenu上显示隐藏_C++_Qt_Qt Signals_Qtoolbar - Fatal编程技术网

C++ Qtoolbar切换在Qmenu上显示隐藏

C++ Qtoolbar切换在Qmenu上显示隐藏,c++,qt,qt-signals,qtoolbar,C++,Qt,Qt Signals,Qtoolbar,如何在qmenu中添加插槽以切换显示和隐藏工具栏?这是我的代码: #include "mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { setMinimumSize(800, 600); CreateAct(); CreateMenus(); createToolBars(); } void MainWindow::CreateAct() {

如何在qmenu中添加插槽以切换显示和隐藏工具栏?这是我的代码:

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setMinimumSize(800, 600);

    CreateAct();
    CreateMenus();
    createToolBars();
}

void MainWindow::CreateAct()
{
    undoAct = new QAction(QIcon::fromTheme("edit-undo", QIcon(":/images/undo.png")), tr("&Undo"), this);
    redoAct = new QAction(QIcon::fromTheme("edit-redo", QIcon(":/images/redo.png")), tr("&Redo"), this);
    cutAct = new QAction(QIcon::fromTheme("edit-cut", QIcon(":/images/cut.png")), tr("Cu&t"), this);
    copyAct = new QAction(QIcon::fromTheme("edit-copy", QIcon(":/images/copy.png")), tr("&Copy"), this);
    pasteAct = new QAction(QIcon::fromTheme("edit-paste", QIcon(":/images/paste.png")), tr("&Paste"), this);

    editToolBarAct = new QAction(tr("Show edit toolbar"), this);
    editToolBarAct->setCheckable(true);
    editToolBarAct->setChecked(true);
//    connect(editToolBarAct, SIGNAL(toggled(bool)), editToolBar, SLOT());

    fileToolBarAct = new QAction(tr("Show file toolbar"), this);
    fileToolBarAct->setCheckable(true);
    fileToolBarAct->setChecked(true);
//    connect(fileToolBarAct, SIGNAL(toggled(bool)), fileToolBar, SLOT());
}

void MainWindow::CreateMenus()
{
    windowMenu = menuBar()->addMenu(tr("&Window"));
    windowMenu->addAction(fileToolBarAct);
    windowMenu->addAction(editToolBarAct);
}

void MainWindow::createToolBars()
{
    fileToolBar = addToolBar("file");
    fileToolBar->addAction(undoAct);
    fileToolBar->addAction(redoAct);
    fileToolBar->toggleViewAction();
    fileToolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::LeftToolBarArea);

    editToolBar = addToolBar(tr("Edit"));
    editToolBar->addAction(cutAct);
    editToolBar->addAction(copyAct);
    editToolBar->addAction(pasteAct);
    editToolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::LeftToolBarArea);
}

MainWindow::~MainWindow() {}

我知道如何使用,但如何使用这些代码我在qt编程方面是个新手,你能给我一些示例代码吗?我尝试过谷歌搜索,但没有找到它的使用示例。

下面的小示例演示了如何使用QToolBar::toggleViewAction:

class MainWindow : public QMainWindow
{
public:
    MainWindow()
    {
        // Create a tool bar
        QToolBar *tb = addToolBar("My Tool Bar");
        [..]

        // Create a menu and add toggle action for the tool bar.
        QAction *tba = tb->toggleViewAction();
        QMenu *m = menuBar()->addMenu("&Window");
        m->addAction(tba);
    }
};