逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::

#include "MainWindow.h"
#include 
<QtGui/QWidget>
#include 
<QtGui/QMenuBar>
#include 
<QtGui/QMenu>
#include 
<QtGui/QAction>
#include 
<QtGui/QApplication>
#include 
<QtGui/QToolBar>

MainWindow::MainWindow(QWidget 
*parent) :
    QMainWindow(parent) {
    createActions();
    createMenus();
    createToolBars();
}

MainWindow::
~MainWindow() {
}

void MainWindow::createActions() {
    
// QAction: 一建立, 二设置属性, 如图标, 快捷键, 事件处理.
    newAction = new QAction(tr("&New"), this);
    newAction
->setIcon(QIcon("./images/Adium.png"));
    newAction
->setShortcut(tr("Ctrl+N"));
    newAction
->setStatusTip(QString("Create a new file."));
    QObject::connect(newAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));

    openAction 
= new QAction(tr("&Open"), this);
    saveAction 
= new QAction(tr("&Save"), this);
    saveAsAction 
= new QAction(tr("Save as"), this);
}

void MainWindow::createMenus() {
    
// menuBar()第一次被调用时QMainWindow会生一个一QMenuBar在窗体上,
    
// 且返回一个QMenu的指针.
    
// menuBar()->addMenu()会生成一个QMenu且返回他的指针.
    
// QMenu加入一个QAction, 就可以对事件进行反应了
    
// 一个QAction可以被多个地方使用, 与Java的Action一样.
    fileMenu = menuBar()->addMenu(tr("&File"));
    fileMenu
->addAction(newAction);
    fileMenu
->addAction(openAction);
    fileMenu
->addSeparator();
    fileMenu
->addAction(saveAction);
    fileMenu
->addAction(saveAsAction);

    editMenu 
= menuBar()->addMenu(tr("&Edit"));
    editMenu
->addAction(newAction);
    editMenu
->addAction(openAction);
    editMenu
->addAction(saveAction);
    editMenu
->addAction(saveAsAction);
}

void MainWindow::createToolBars() {
    
// 跟创建菜单一个相似
    toolBar = addToolBar(tr("&File"));
    toolBar
->addAction(newAction);
    toolBar
->addAction(openAction);
    toolBar
->addSeparator();
    toolBar
->addAction(saveAction);
    toolBar
->addAction(saveAsAction);
}

posted on 2008-03-18 05:58 逛奔的蜗牛 阅读(9419) 评论(0)  编辑 收藏 引用 所属分类: Qt

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理