Qt中QAction在菜单栏、工具栏、状态来上的使用及添加快捷键
来源:互联网 发布:淘宝助理连打只能2单 编辑:程序博客网 时间:2024/05/20 08:25
“需求”分析:
①有响应的“动作/Action”,使用QAction实现,这里的响应为弹出一个“消息框”。
②该“Action”可以在菜单栏、工具栏上点击。
③鼠标停留在该“动作”上时,状态栏显示关于该“动作”相关提示信息。
说明:
使用QMainWindow来使用菜单栏、工具栏、状态栏时会比较方便,因此使用QMainWindow来演示实例。
技术细节:
设置快捷键
this->myAction->setShortcuts(QKeySequence::Print);
设置状态栏显示
this->myAction->setStatusTip("This is my action.");
设置菜单栏
this->ui->menuBar->addMenu("Menus")->addAction(myAction);设置工具栏
this->ui->mainToolBar->addAction(myAction);
-----------------------------------------------------------------------
以下是全部源代码:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QAction>
#include <QMessageBox>
#include <QIcon>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void popMesaagebox();
private:
Ui::MainWindow *ui;
QAction *myAction;
};
#endif // MAINWINDOW_H-----------------------------------------------------------------------
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->resize(600,400);
this->setWindowIcon(QIcon("./1.png"));
this->myAction = new QAction(this);
this->myAction->setText("MyAction");
this->myAction->setIcon(QIcon("./1.png"));
this->myAction->setStatusTip("This is my action.");
this->myAction->setShortcuts(QKeySequence::Print);
connect(myAction,SIGNAL(triggered()),this,SLOT(popMesaagebox()));
this->ui->menuBar->addMenu("Menus")->addAction(myAction);
this->ui->mainToolBar->addAction(myAction);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::popMesaagebox()
{
QMessageBox m(this);
m.setWindowTitle("MyAction");
m.setText("This is a messagebox for my action.");
m.exec();
}-----------------------------------------------------------------------
main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
图标文件使用的是这个:
阅读全文
1 0
- Qt中QAction在菜单栏、工具栏、状态来上的使用及添加快捷键
- QT 菜单栏 工具栏 Qaction的创建
- QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用(二)
- 【转】QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用
- 使用Qt designer 向菜单栏和工具栏添加action
- Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法
- Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法
- Qt中实现简单的菜单栏,工具栏和状态栏!
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- 在winform界面的菜单栏和工具栏中插入分界线
- QT工具栏和菜单栏
- QT菜单栏,工具栏
- QT练习 菜单栏,工具栏
- QT 菜单栏,工具栏操作
- QT中QToolBar中如何添加QAction控件
- 在对话框中增加菜单栏,工具栏,状态栏
- Qt Creator中添加菜单栏
- pom中的build
- Android饼状图的绘制
- vs2012创建dll
- 10种极具创意的验证码设计
- Codeforces Round #428 (Div. 2)-贪心&模拟-B. Game of the Rows
- Qt中QAction在菜单栏、工具栏、状态来上的使用及添加快捷键
- JavaScript 得到上周时间范围,本月时间范围
- 计算机视觉基础
- 记flume部署过程中遇到的问题以及解决方法(持续更新)
- JavaScript中new语句
- 支持向量机 Support Vector Machines (SVM)
- DOM及其扩展
- 六种三栏式布局
- css sprite新手教程