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

Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法

2014-01-26 22:08 976 查看
作者:kakaka2011

转自:/content/1214004.html

Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法

[c++]
view plaincopy

//new 一个QAction
openAction = new QAction(tr("&Open"), this);
openAction->setShortcut(QKeySequence::Open);//添加快捷方式
openAction->setStatusTip(tr("Open a file."));//将鼠标移动到工具条或者菜单的 QAction上,状态栏就会有相应的提示
openAction->setIcon(QIcon(":/images/UI_UI_BMP_FILE_SELECTOR_DISABLED_DIRECTORY.png"));

connect(openAction,SIGNAL(triggered()),this,SLOT(open()));

/*QStatusBar继承自QWidget,因此它可以添加其他的QWidget。添加一个label为状态栏
*QMainWindow类里面就有一个statusBar()函数,用于实现状态栏的调用。
*类似menuBar()函数,如果不存在状态栏,该函数会自动 创建一个,如果已经创建则会返回这个状态栏的指针。如果你要替换掉已经存在的状态栏,
需要使用QMainWindow的setStatusBar()函 数
*/
msgLabel = new QLabel;
msgLabel->setMaximumSize(msgLabel->sizeHint());
msgLabel->setAlignment(Qt::AlignHCenter);
statusBar()->addWidget(msgLabel);
statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));

/*
*QMainWindow有一个menuBar()函数,会返回菜单栏,。如果不存在会自动创建,如果已经存在就返回那个菜 单栏的指针。
*直接使用返回值添加一个菜单,也就是addMenu,参数是一个QString,也就是显示的菜单名字。然后使用这个QMenu指针添加这个QAction。
*/
QMenu *file = menuBar()->addMenu(tr("&File"));
file->addAction(openAction);

/*
*使用addToolBar函数的返回值添加了一个工具条,并且把这个QAction添加到了上面。
*/
QToolBar *toolBar = addToolBar(tr("&File"));
toolBar->addAction(openAction);

我们可以用

QStatusBar *
QMainWindow::statusBar() const

这个函数替代上面

msgLabel=newQLabel;

msgLabel->setMaximumSize(msgLabel->sizeHint());

msgLabel->setAlignment(Qt::AlignHCenter);

statusBar()->addWidget(msgLabel);

statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));

(这些代码是在状态栏上加上一个label)

这些代码。在最后toolBar->addAction(openAction);后加上statusBar();

这个函数的意义就是:Returns the status bar for the main window. This function creates and returns an empty status bar if the status bar does not exist.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: