您的位置:首页 > 编程语言 > Qt开发

Qt学习之八:菜单栏、工具栏和状态栏

2016-09-06 13:39 344 查看
Qt将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示。QAction可以添加到菜单栏、工具栏和状态栏中。

(1) 菜单栏:

使用menuBar函数创建一个菜单栏,menuBar()是QMainWindow提供的函数,这个函数会返回窗口的菜单栏。使用addMenu()函数为其添加菜单。当创建出来菜单对象时,就可以把QAction添加到这个菜单上面,也就是addAction的作用。

(2)工具栏:

QToolBar表示工具栏,使用addToolBar()函数添加新的工具栏。

工具栏可以设置成固定的、浮动的等等。

QAcrion::setStatusTip( ): 设置该动作在状态栏上的提示文本。

(3)状态栏:

QstatusBar表示状态栏。通过statusBar()函数创建状态栏。

C++代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QAction>
#include <QMenuBar>
#include <QMessageBox>
#include <QStatusBar>
#include <QToolBar>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
openAction = new QAction(QIcon(":/images/doc-open"),tr("&Open..."),this);
openAction->setShortcuts(QKeySequence::Open);
openAction->setStatusTip(tr("Open an existing file"));
connect(openAction,&QAction::triggered,this,&MainWindow::open);

copyAction = new QAction(QIcon(":/images/doc-copy"),tr("&Copy..."),this);
copyAction->setShortcuts(QKeySequence::Copy);
copyAction->setStatusTip(tr("Copy an existing file"));
connect(copyAction,&QAction::triggered,this,&MainWindow::copy);

closeAction = new QAction(QIcon(":/images/doc-close"),tr("&Quit..."),this);
closeAction->setShortcuts(QKeySequence::Close);
closeAction->setStatusTip(tr("Close the software"));
connect(closeAction,&QAction::triggered,this,&MainWindow::close);

QMenu *file = menuBar()->addMenu(tr("&File"));
file->addAction(openAction);
file->addAction(copyAction);
file->addAction(closeAction);

QToolBar *toolBar = addToolBar(tr("&File"));
toolBar->addAction(openAction);
toolBar->addAction(copyAction);
toolBar->addAction(closeAction);

QStatusBar *statusBar = QMainWindow::statusBar();
statusBar->addAction(openAction);
statusBar->addAction(copyAction);
statusBar->addAction(closeAction);
}

MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::open()
{
QMessageBox::information(this,tr("Information"),tr("Open"));
}
void MainWindow::copy()
{
QMessageBox::information(this,tr("Information"),tr("Copy"));
}


在工具栏上参加了打开Open,复制Copy和关闭Close三个动作:



在菜单栏中添加了三个动作:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: