QMainWindow学习-3

1.添加菜单栏
我们MainWindow类中添加如下成员
QMenu *fileMenu;
QAction *newAct;
QAction *openAct;
QAction *saveAct;
其中QMenu代表一个菜单,QAction代表菜单中的一个选项,在头文件里还要增加这两个类的前置声明
class QMenu;
class Qaction;
接下来在声明两个私有函数,一个用于我们创建菜单,一个用于创建菜单中的选项。
void createActions();
void createMenus();
然后在mainwindow.cpp中实现这两个方法
void MainWindow::createActions()
{
    newAct = new QAction(tr("&New"), this);
    openAct = new QAction(tr("&Open"), this);
    saveAct = new QAction(tr("&Save"), this);
}

void MainWindow::createMenus()
{
    fileMenu = menuBar()->addMenu(tr("&File"));
    fileMenu->addAction(newAct);
    fileMenu->addAction(openAct);
    fileMenu->addAction(saveAct);
}
最后还要记得在MainWindow的构造函数调用这两个方法。
我们使用QMainWindow的menuBar()函数返回QMenuBar指针,使用QMenuBar的addMenu添加一个菜单,
注意:File前面有个&符号,表示这个支持快捷键,比如Alt + F。
addMenu函数返回值正是QMenu指针。使用QMenu的addAction为这个菜单添加一个菜单选项,
注意QMenu类也有个addMenu函数用于给这个菜单添加子菜单,注意它和QMenuBar的addMenu的区别。
2.添加工具栏
我们MainWindow类中添加成员
QToolBar *fileToolBar;
增加这个类的前置声明
class QtoolBar;
并且在头文件中声明一个私有方法
void createToolBars();
在mainwindow.cpp中实现这个方法
void MainWindow::createToolBars()
{
    fileToolBar = addToolBar(tr("File"));
    fileToolBar->addAction(newAct);
    fileToolBar->addAction(openAct);
     fileToolBar->addAction(saveAct);
}
addToolBar是QMainWindow的函数,用于增加一个工具栏,返回值为QToolBar指针。addAction也是用于给这个工具栏增加按钮。
最后还是别忘了在构造函数中调用这个方法
3.状态栏
状态栏我们这里就不单独添加了,我们只是有用状态栏显示一些消息就行了,statusBar()函数是QMainWindow的函数,如果没有状态栏则创建并返回QStatusBar指针,如果有的话直接返回这个QStatusBar指针,调用它的showMessage函数显示一些消息。
posted @ 2011-11-25 16:51  移动应用开发  阅读(502)  评论(0编辑  收藏  举报