
#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);
}
#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

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

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

}
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);
}