QT中菜单Menu与工具栏Toolbar中各个Action的动态添加删除
来源:互联网 发布:淄博seo公司哪家好 编辑:程序博客网 时间:2024/06/06 09:46
就像Swing里面的Action一样,Qt里面也有一个类似的类,叫做QAction。顾名思义,QAction类保存有关于这个动作,也就是action的信息,比如它的文本描述、图标、快捷键、回调函数(也就是信号槽),等等。神奇的是,QAction能够根据添加的位置来改变自己的样子——如果添加到菜单中,就会显示成一个菜单项;如果添加到工具条,就会显示成一个按钮。
代码如下:
//MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow();public slots: void openFile(); void add(); void remove();private: Ui::MainWindow *ui; //QAction *openAcition; QMenu *file; QAction *addscess; QToolBar *toolbar; QToolBar *toolbar1;};#endif // MAINWINDOW_H
//MainWindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QAction *openAcition = new QAction(tr("&Open"),this); QAction *openAction = new QAction(tr("&apen"),this); QAction *add = new QAction(tr("&add"),this); QAction *remove = new QAction(tr("&remove"),this); file = menuBar()->addMenu(tr("&File")); file->addAction(openAcition); file->addAction(add); file->addAction(remove); toolbar = addToolBar(tr("&File")); toolbar->addAction(openAcition); toolbar->addAction(openAction); toolbar1 = addToolBar(tr("&File")); //toolbar1->addAction(openAcition); toolbar1->addAction(openAction); connect(openAcition,SIGNAL(triggered()),this,SLOT(openFile())); connect(add,SIGNAL(triggered()),this,SLOT(add())); connect(remove,SIGNAL(triggered()),this,SLOT(remove()));}MainWindow::~MainWindow(){ delete ui;}void MainWindow::openFile(){ qDebug()<<"I did that!!";}void MainWindow::add(){ addscess = new QAction(tr("&addscess"),this); file->addAction(addscess); toolbar->addAction(addscess);}void MainWindow::remove(){ file->removeAction(addscess); toolbar->removeAction(addscess);}
- QT中菜单Menu与工具栏Toolbar中各个Action的动态添加删除
- 控制QT中MainWindow上Menu和ToolBar的上下文菜单Action列表
- MFC中菜单项的动态添加、删除与响应
- MFC中菜单项的动态添加、删除与响应
- actionBar和Toolbar中如何动态隐藏和修改menu上的菜单
- Android动态修改ToolBar的Menu菜单
- Toolbar中menu菜单文字颜色的修改
- Toolbar中menu菜单文字颜色的修改
- qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
- qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
- qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
- QtDesigner中如何手动添加工具栏toolBar
- 在ActionBar / ToolBar 中添加 overflow menu的方法
- Android 中添加menu菜单
- Android中动态添加╱删除的Spinner菜单 — ArrayList与Widget的依赖性
- Android中动态添加╱删除的Spinner菜单
- toolbar menu中app:showAsAction各个属性值作用
- Qt中创建菜单和工具栏的一点总结
- parameter和argument的区别
- how to install gstreamer-plugins-gl on ubuntu
- android是什么
- 2013一些好的句子
- 代码审查工具FxCop建议采用的规则总结
- QT中菜单Menu与工具栏Toolbar中各个Action的动态添加删除
- JDK中的设计模式应用实例
- 函数对象 和 函数指针 的区别
- python学习重温(1)---自动case生成工具
- 突破网管的局域网网络限制方法大全-详细攻略
- ubuntu12.04 安装 emacs24
- Unity3d 传送门效果制作
- 需要看的电影
- 【多重背包】hdu 2191 买大米