qt之工具栏的使用

   首选熊QMainWindow中派生一个子类QMain,然后创建相应的QAction,然后调用addToolBar("Edit");创建菜单栏,将QAction添加进工具栏。

  

  

#ifndef QMAIN_H
#define QMAIN_H
 
#include <QMainWindow>
#include <QAction>
#include <QToolBar>
class QMain : public QMainWindow
{
    Q_OBJECT
public:
    explicit QMain(QWidget *parent = 0);
protected:
    void  createAction();
    void createMenu();
    void createToolBar();
 
signals:
 
public slots:
 
private:
    QAction* exitAction;
    QAction* openAction;
    QAction* addNoteAction;
    QAction* cutAction;
    QAction* copyAction;
    QAction* pasteAction;
    QMenu* fileMenu;
    QMenu* editMenu;
    QToolBar* editToolBar;
};
 
#endif // QMAIN_H

#include "qmain.h"
#include <QMenuBar>
#include <QIcon>
#include <QApplication>
QMain::QMain(QWidget *parent) : QMainWindow(parent)
{
    createAction();
    createMenu();
    createToolBar();
   resize(500,600);
}
void  QMain::createAction()
{
    exitAction = new QAction(tr("E&xit"),this);
    exitAction->setIcon(QIcon(":/images/delete.png"));
    exitAction->setShortcut(tr("Ctrl+Q"));
    connect(exitAction,SIGNAL(triggered(bool)),this,SLOT(close()));
    openAction = new QAction("&Open",this);
    openAction->setShortcut(QKeySequence::Open);
    openAction->setStatusTip(tr("open"));
   addNoteAction = new QAction(tr("node"),this);
   addNoteAction->setIcon(QIcon(tr(":/images/node.png")));
   addNoteAction->setStatusTip(tr("add node"));
    cutAction = new  QAction(tr("&Cut"),this);
    cutAction->setIcon(QIcon(tr(":/images/cut.png")));
    cutAction->setShortcut(QKeySequence::Cut);
    cutAction->setStatusTip(tr("cut Text"));
     copyAction = new QAction(tr("&Copy"),this);
     copyAction->setIcon(QIcon(tr(":/images/copy.png")));
     copyAction->setShortcut(QKeySequence::Copy);
     pasteAction = new QAction(tr("&Paste"),this);
     pasteAction->setIcon(QIcon(":/images/paste.png"));
     pasteAction->setShortcut(QKeySequence::Paste);
     pasteAction->setStatusTip(tr("paste text"));
}
void QMain::createMenu()
{
 fileMenu = menuBar()->addMenu("&File");
 fileMenu->addAction(exitAction);
 editMenu = menuBar()->addMenu("&Edit");
editMenu->addAction(addNoteAction);
editMenu->addAction(cutAction);
editMenu->addAction(pasteAction);
editMenu->addAction(openAction);
}
void QMain::createToolBar()
{
   editToolBar = addToolBar("Edit");
   editToolBar->addAction(openAction);
   editToolBar->addAction(copyAction);
   editToolBar->addAction(pasteAction);
   editToolBar->addAction(cutAction);
}



#include <QApplication>
#include <qmain.h>


int main(int argc,char* argv[])
{
    QApplication app(argc,argv);
    QMain* ma = new QMain;
    ma->show();
    return app.exec();
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值