Qt纯代码实现菜单工具栏

#ifndef MENU_H
#define MENU_H

#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>

class Menu : public QMainWindow
{
    Q_OBJECT

public:
    Menu(QWidget *parent = nullptr);
    ~Menu();
    void initMenu();
private:
    QMenuBar* m_pBar;
    QToolBar* m_ToolBar;
};
#endif // MENU_H



#include "Menu.h"
#include <QTime>
#include <QCalendarWidget>
#include <QVBoxLayout>

Menu::Menu(QWidget *parent)
    : QMainWindow(parent)
{
    initMenu();
    this->resize(300,400);
}

Menu::~Menu()
{
}

void Menu::initMenu()
{
    QAction* pActionNew = new QAction("new file");
    pActionNew->setShortcut(QKeySequence::New);
    pActionNew->setIcon(QIcon(""));

    QAction* pActionOpen = new QAction("open file");
    pActionOpen->setShortcut(QKeySequence::Open);
    pActionOpen->setIcon(QIcon(""));

    QAction* pActionSave = new QAction("Save file");
    pActionSave->setShortcut(QKeySequence::Save);
    pActionSave->setIcon(QIcon(""));

    QMenu* pMenuFile = new QMenu("File");
    pMenuFile->addAction(pActionNew);
    pMenuFile->addAction(pActionOpen);
    pMenuFile->addAction(pActionSave);

    QMenu* pMenuHelp = new QMenu("Help");
    QAction* pActionHelp = new QAction("Help");
    pMenuHelp->addAction(pActionHelp);


    m_pBar = new QMenuBar;
    m_pBar->addMenu(pMenuFile);
    m_pBar->addMenu(pMenuHelp);
    m_pBar->addSeparator();

    m_ToolBar = new QToolBar;
    m_ToolBar->addWidget(m_pBar);
    m_ToolBar->addSeparator();
    m_ToolBar->setAllowedAreas(Qt::TopToolBarArea);
    QCalendarWidget* pCalendar = new QCalendarWidget;

    this->addToolBar(m_ToolBar);
    this->setCentralWidget(pCalendar);
}



#include "Menu.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Menu w;
    w.show();
    return a.exec();
}

下面是运行界面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值