void MainWindow::setupActions() { //file menu KStdAction::openNew(this, SLOT(slotNewFile()), actionCollection()); KStdAction::open(this, SLOT(slotOpenFile()), actionCollection()); m_actionRecent = KStdAction::openRecent(this, SLOT(slotFileRecent(const KURL&)), actionCollection()); m_actionRecent->loadEntries(kapp->config());//,"Recent Files"); KStdAction::save(this, SLOT(slotSaveCurrentFile()), actionCollection()); KStdAction::saveAs(this, SLOT(slotSaveCurrentFileAs()), actionCollection()); KStdAction::close(this, SLOT(slotCloseFile()), actionCollection()); (void)new KAction(i18n("Close All"), 0, this, SLOT(slotCloseAllFiles()), actionCollection(), "file_close_all"); KStdAction::quit(this, SLOT(slotQuit()), actionCollection()); KStdAction::keyBindings(this, SLOT(slotEditKeys()), actionCollection()); KStdAction::configureToolbars(this, SLOT(slotEditToolbars()), actionCollection()); KStdAction::preferences(this, SLOT(slotShowSettings()), actionCollection(), "settings_gpteditor"); (void)new KAction(i18n("Compile"), "make_kdevelop", "F10", m_debugger_manager, SLOT(slotCompileApplication()), actionCollection(), "compile_application"); (void)new KAction(i18n("Run"), "gear", "F9", m_debugger_manager, SLOT(slotRunApplication()), actionCollection(), "run_application"); (void)new KAction(i18n("Start Debug"), "dbgstart", "F5", m_debugger_manager, SLOT(slotDebugStart()), actionCollection(), "debug_start"); (void)new KAction(i18n("Stop Debug"), "stop", "Escape", m_debugger_manager, SLOT(slotDebugStop()), actionCollection(), "debug_stop"); (void)new KAction(i18n("Step Over"), "dbgnext", "F6", m_debugger_manager, SLOT(slotDebugStepOver()), actionCollection(), "debug_step_over"); (void)new KAction(i18n("Step Into"), "dbgstep", "F7", m_debugger_manager, SLOT(slotDebugStepInto()), actionCollection(), "debug_step_into"); (void)new KAction(i18n("Step Out"), "dbgstepout", "F8", m_debugger_manager, SLOT(slotDebugStepOut()), actionCollection(), "debug_step_out"); // (void)new KAction(i18n("Profile (DBG only)"), "math_sum", "Alt+P", m_debugger_manager, // SLOT(slotProfile()), actionCollection(), "script_profile"); (void)new KAction(i18n("Toggle Breakpoint"), "activebreakpoint", "Alt+B", m_debugger_manager, SLOT(slotDebugToggleBp()), actionCollection(), "debug_toggle_bp"); // (void)new KAction("", "math_brace", 0, m_tabEditor, // SLOT(slotAddWatch()), actionCollection(), "editor_add_watch"); // Editor default action setStandardToolBarMenuEnabled(true); }
void MainWindow::createActions() { // file open action fileOpenAction = new QAction(QIcon(":/images/open.png"),tr("Open"),this); // 打开文件 fileOpenAction->setShortcut(tr("Ctrl+O")); fileOpenAction->setStatusTip(tr("open a file")); connect(fileOpenAction,SIGNAL(triggered()),this,SLOT(slotOpenFile())); // file new action fileNewAction = new QAction(QIcon(":/images/new.png"),tr("New"),this); // 新建文件 fileNewAction->setShortcut(tr("Ctrl+N")); fileNewAction->setStatusTip(tr("new file")); connect(fileNewAction,SIGNAL(triggered()),this,SLOT(slotNewFile())); // save file action fileSaveAction = new QAction(QPixmap(":/images/save.png"),tr("Save"),this); // 保存文件 fileSaveAction->setShortcut(tr("Ctrl+S")); fileSaveAction->setStatusTip(tr("save file")); connect(fileSaveAction,SIGNAL(activated()),this,SLOT(slotSaveFile())); // exit action exitAction = new QAction(tr("Exit"), this); // 退出 exitAction->setShortcut(tr("Ctrl+Q")); exitAction->setStatusTip(tr("exit")); connect(exitAction, SIGNAL(triggered()), this, SLOT(close())); cutAction = new QAction(QIcon(":/images/cut.png"), tr("Cut"), this); // 剪切 cutAction->setShortcut(tr("Ctrl+X")); cutAction->setStatusTip(tr("cut to clipboard")); connect(cutAction, SIGNAL(triggered()), text, SLOT(cut())); copyAction = new QAction(QIcon(":/images/copy.png"), tr("Copy"), this); // 复制 copyAction->setShortcut(tr("Ctrl+C")); copyAction->setStatusTip(tr("copy to clipboard")); connect(copyAction, SIGNAL(triggered()), text, SLOT(copy())); pasteAction = new QAction(QIcon(":/images/paste.png"), tr("Paste"), this); // 粘贴 pasteAction->setShortcut(tr("Ctrl+V")); pasteAction->setStatusTip(tr("paste clipboard to selection")); connect(pasteAction, SIGNAL(triggered()), text, SLOT(paste())); aboutAction = new QAction(tr("About"), this); // 关于 connect(aboutAction, SIGNAL(triggered()), this, SLOT(slotAbout())); }
void MainWindow::createActions() { //通过图片路径来实现添加Qt资源文件目的 fileOpenAction = new QAction(QIcon("C:/qt/Mwindow/open.png"),tr("Open"),this); fileOpenAction->setShortcut(tr("Ctrl+O")); fileOpenAction->setStatusTip(tr("Open a file")); connect(fileOpenAction,SIGNAL(triggered()),this,SLOT(slotOpenFile())); fileNewAction = new QAction(QIcon("C:/qt/Mwindow/new.png"),tr("New"),this); fileNewAction->setShortcut(tr("Ctrl+N")); fileNewAction->setStatusTip(tr("new file")); connect(fileNewAction,SIGNAL(triggered()),this,SLOT(slotNewFile())); fileSaveAction = new QAction(QIcon("C:/qt/Mwindow/save.png"),tr("Save"),this); fileSaveAction->setShortcut(tr("Ctrl+S")); fileNewAction->setStatusTip(tr("save file")); connect(fileNewAction,SIGNAL(triggered()),this,SLOT(slotSaveFile())); exitAction = new QAction(tr("Exit"),this); exitAction->setShortcut(tr("Ctrl+Q")); exitAction->setStatusTip(tr("exit")); connect(exitAction,SIGNAL(triggered()),this,SLOT(close())); cutAction = new QAction(QIcon("C:/qt/Mwindow/cut.png"),tr("Cut"),this); cutAction->setShortcut(tr("Ctrl+X")); cutAction->setStatusTip(tr("cut to clipboard")); connect(cutAction,SIGNAL(triggered()),text,SLOT(cut())); copyAction = new QAction(QIcon("C:/qt/Mwindow/copy.png"),tr("Copy"),this); copyAction->setShortcut(tr("Ctrl+C")); copyAction->setStatusTip(tr("copy to clipboard")); connect(copyAction,SIGNAL(triggered()),this,SLOT(copy())); pasteAction = new QAction(QIcon("C:/qt/Mwindow/paste.png"),tr("paste"),this); pasteAction->setShortcut(tr("Ctrl+V")); pasteAction->setStatusTip(tr("paste clipboard to selection")); connect(pasteAction,SIGNAL(triggered()),this,SLOT(paste())); aboutAction = new QAction(tr("About"),this); connect(aboutAction,SIGNAL(triggered()),this,SLOT(slotAbout())); }
void MainWindow::initMenu() { //file _fileMenu = menuBar()->addMenu(QWidget::tr("文件(&F)")); QAction* actionNewFile = new QAction(QIcon(":/images/new.png"), QWidget::tr("新建(&New)"), this); actionNewFile->setShortcut(QWidget::tr("Ctrl+N")); actionNewFile->setToolTip(QWidget::tr("新建场景文件")); connect(actionNewFile, SIGNAL(triggered()), this, SLOT(slotNewFile())); _fileMenu->addAction(actionNewFile); QAction* actionOpenFile = new QAction(QIcon(":/images/open.png"), QWidget::tr("打开(&Open)"), this); actionOpenFile->setShortcut(QWidget::tr("Ctrl+O")); actionOpenFile->setToolTip(QWidget::tr("打开一个场景文件")); connect(actionOpenFile, SIGNAL(triggered()), this, SLOT(slotOpenFile())); _fileMenu->addAction(actionOpenFile); QAction* actionSaveFile = new QAction(QIcon(":/images/save.png"), QWidget::tr("保存(&Save)"), this); actionSaveFile->setShortcut(QWidget::tr("Ctrl+S")); actionSaveFile->setToolTip(QWidget::tr("保存场景文件")); actionSaveFile->setEnabled(false); connect(actionSaveFile, SIGNAL(triggered()), this, SLOT(slotSaveFile())); _fileMenu->addAction(actionSaveFile); QAction* actionSaveAsFile = new QAction(QIcon(":/images/save.png"), QWidget::tr("另存(SaveAs)"), this); actionSaveAsFile->setToolTip(QWidget::tr("另存场景文件")); actionSaveAsFile->setEnabled(false); connect(actionSaveAsFile, SIGNAL(triggered()), this, SLOT(slotSaveAsFile())); _fileMenu->addAction(actionSaveAsFile); QAction* actionExit = new QAction(QIcon(":/images/close.png"), QWidget::tr("退出(&X)"), this); actionExit->setToolTip(QWidget::tr("退出场景编辑器")); connect(actionExit, SIGNAL(triggered()), this, SLOT(slotExit())); _fileMenu->addAction(actionExit); //edit _editMenu = menuBar()->addMenu(QWidget::tr("编辑(&E)")); QAction* actionUndo = new QAction(QIcon(":/images/undo.png"), QWidget::tr("撤销"), this); actionUndo->setShortcut(QWidget::tr("Ctrl+Z")); actionUndo->setToolTip(QWidget::tr("撤销Ctrl+Z")); actionUndo->setEnabled(false); connect(actionUndo, SIGNAL(triggered()), this, SLOT(slotUndo())); _editMenu->addAction(actionUndo); QAction* actionRedo = new QAction(QIcon(":/images/redo.png"), QWidget::tr("重做"), this); actionRedo->setShortcut(QWidget::tr("Ctrl+Y")); actionRedo->setToolTip(QWidget::tr("重做Ctrl+Y")); actionRedo->setEnabled(false); connect(actionRedo, SIGNAL(triggered()), this, SLOT(slotRedo())); _editMenu->addAction(actionRedo); QAction* actionCopy = new QAction(QIcon(":/images/copy.png"), QWidget::tr("复制"), this); actionCopy->setShortcut(QWidget::tr("Ctrl+C")); actionCopy->setToolTip(QWidget::tr("复制Ctrl+C")); actionCopy->setEnabled(false); connect(actionCopy, SIGNAL(triggered()), this, SLOT(slotCopy())); _editMenu->addAction(actionCopy); QAction* actionRotateFast = new QAction(QIcon(":/images/rotate.png"), QWidget::tr("快速旋转"), this); actionRotateFast->setShortcut(QKeySequence(Qt::Key_F3)); actionRotateFast->setToolTip(QWidget::tr("快速旋转F3")); actionRotateFast->setEnabled(false); connect(actionRotateFast, SIGNAL(triggered()), this, SLOT(slotRotateFast())); _editMenu->addAction(actionRotateFast); QAction* actionAlign = new QAction(QIcon(":/images/align.png"), QWidget::tr("对齐"), this); actionAlign->setShortcut(QWidget::tr("Ctrl+L")); actionAlign->setToolTip(QWidget::tr("对齐Ctrl+L")); actionAlign->setEnabled(false); connect(actionAlign, SIGNAL(triggered()), this, SLOT(slotAlign())); _editMenu->addAction(actionAlign); QAction* actionDelete = new QAction(QIcon(":/images/delete.png"), QWidget::tr("删除"), this); actionDelete->setShortcut(QKeySequence(QKeySequence::Delete)); actionDelete->setToolTip(QWidget::tr("删除Delete")); actionDelete->setEnabled(false); connect(actionDelete, SIGNAL(triggered()), this, SLOT(slotDelete())); _editMenu->addAction(actionDelete); //windowsMenu _windowsMenu = menuBar()->addMenu(QWidget::tr("窗口(&W)")); QAction* actionObjectsTreeDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("场景树(&ObjTree)"), this); actionObjectsTreeDockWidget->setShortcut(QKeySequence("h")); actionObjectsTreeDockWidget->setToolTip(QWidget::tr("打开或隐藏对象树窗口")); actionObjectsTreeDockWidget->setEnabled(false); connect(actionObjectsTreeDockWidget, SIGNAL(triggered()), this, SLOT(slotObjectTreeWidgetActive())); _windowsMenu->addAction(actionObjectsTreeDockWidget); QAction* actionPropertyDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("属性窗"), this); actionPropertyDockWidget->setToolTip(QWidget::tr("打开或隐藏属性窗口")); actionPropertyDockWidget->setEnabled(false); connect(actionPropertyDockWidget, SIGNAL(triggered()), this, SLOT(slotPropertyDockWidgetActive())); _windowsMenu->addAction(actionPropertyDockWidget); QAction* actionBuiltinResourcesDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("内置资源列表"), this); actionBuiltinResourcesDockWidget->setToolTip(QWidget::tr("打开或隐藏内置资源列表窗口")); actionBuiltinResourcesDockWidget->setEnabled(false); connect(actionBuiltinResourcesDockWidget, SIGNAL(triggered()), this, SLOT(slotBuiltinResourcesDockWidgetActive())); _windowsMenu->addAction(actionBuiltinResourcesDockWidget); QAction* actionvdsResourcesDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("资源列表"), this); actionvdsResourcesDockWidget->setToolTip(QWidget::tr("打开或隐藏资源列表窗口")); actionvdsResourcesDockWidget->setEnabled(false); connect(actionvdsResourcesDockWidget, SIGNAL(triggered()), this, SLOT(slotvdsResourcesDockWidgetActive())); _windowsMenu->addAction(actionvdsResourcesDockWidget); QAction* actionCSharpAssemblyDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("脚本列表"), this); actionCSharpAssemblyDockWidget->setToolTip(QWidget::tr("打开或隐藏脚本列表窗口")); actionCSharpAssemblyDockWidget->setEnabled(false); connect(actionCSharpAssemblyDockWidget, SIGNAL(triggered()), this, SLOT(slotCSharpAssemblyDockWidgetActive())); _windowsMenu->addAction(actionCSharpAssemblyDockWidget); //tool _toolMenu = menuBar()->addMenu(QWidget::tr("工具(&T)")); QAction* actionAnimationMerge = new QAction(QIcon(":/images/default.png"), QWidget::tr("动画合并(&AnimationMerge)"), this); actionAnimationMerge->setToolTip(QWidget::tr("完成骨骼动画合并")); actionAnimationMerge->setEnabled(false); connect(actionAnimationMerge, SIGNAL(triggered()), this, SLOT(slotAnimationMerge())); _toolMenu->addAction(actionAnimationMerge); QAction* particleEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("粒子编辑(&Particle)"), this); particleEdit->setToolTip(QWidget::tr("编辑粒子效果")); particleEdit->setEnabled(false); connect(particleEdit, SIGNAL(triggered()), this, SLOT(slotParticleEdit())); _toolMenu->addAction(particleEdit); QAction* actionPlantBrushDockWidget = new QAction(QIcon(":/images/default.png"), QWidget::tr("植被编辑"), this); actionPlantBrushDockWidget->setToolTip(QWidget::tr("打开或隐藏植被编辑窗口")); actionPlantBrushDockWidget->setEnabled(false); connect(actionPlantBrushDockWidget, SIGNAL(triggered()), this, SLOT(slotPlantBrushDockWidgetActive())); _toolMenu->addAction(actionPlantBrushDockWidget); QAction* actionViewPointEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("视点编辑(&ViewPoint)"), this); actionViewPointEdit->setToolTip(QWidget::tr("定义视点")); actionViewPointEdit->setEnabled(false); connect(actionViewPointEdit, SIGNAL(triggered()), this, SLOT(slotViewPointEdit())); _toolMenu->addAction(actionViewPointEdit); QAction* actionPhysicalEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("物理编辑"), this); actionPhysicalEdit->setToolTip(QWidget::tr("定义碰撞体或碰撞面")); actionPhysicalEdit->setEnabled(false); connect(actionPhysicalEdit, SIGNAL(triggered()), this, SLOT(slotPhysicalEditDockWidgetActive())); _toolMenu->addAction(actionPhysicalEdit); QAction* actionRiverEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("河流编辑"), this); actionRiverEdit->setToolTip(QWidget::tr("定义河流效果")); actionRiverEdit->setEnabled(false); connect(actionRiverEdit, SIGNAL(triggered()), this, SLOT(slotRiverEditDockWidgetActive())); _toolMenu->addAction(actionRiverEdit); QAction* modelConvert = new QAction(QIcon(":/images/default.png"), QWidget::tr("模型转换(&ConvertModel)"), this); modelConvert->setToolTip(QWidget::tr("转换模型到其他平台")); modelConvert->setEnabled(true); connect(modelConvert, SIGNAL(triggered()), this, SLOT(slotConvertModel())); _toolMenu->addAction(modelConvert); QAction* compressDir = new QAction(QIcon(":/images/default.png"), QWidget::tr("压缩文件夹"), this); compressDir->setToolTip(QWidget::tr("压缩文件夹,可以设定文件名编码")); compressDir->setEnabled(true); connect(compressDir, SIGNAL(triggered()), this, SLOT(slotCompressDir())); _toolMenu->addAction(compressDir); //animation _animationMenu = menuBar()->addMenu(QWidget::tr("动画(&A)")); ///////////////////////////////////////////////////////////////////should move to PlotAnimation later QAction* actionViewPointAnimationEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("视点动画编辑"), this); actionViewPointAnimationEdit->setToolTip(QWidget::tr("编辑视点动画")); actionViewPointAnimationEdit->setEnabled(false); connect(actionViewPointAnimationEdit, SIGNAL(triggered()), this, SLOT(slotViewPointAnimationEdit())); _animationMenu->addAction(actionViewPointAnimationEdit); QAction* actionPlotAnimationEdit = new QAction(QIcon(":/images/default.png"), QWidget::tr("剧情编辑"), this); actionPlotAnimationEdit->setToolTip(QWidget::tr("编辑一段剧情")); actionPlotAnimationEdit->setEnabled(false); connect(actionPlotAnimationEdit, SIGNAL(triggered()), this, SLOT(slotPlotAnimationEdit())); _animationMenu->addAction(actionPlotAnimationEdit); }
void ndManager::setupActions() { //File Menu QMenu *fileMenu = menuBar()->addMenu(tr("&File")); mNewAction = fileMenu->addAction(tr("&New...")); mNewAction->setIcon(QPixmap(":/shared-icons/document-new")); mNewAction->setShortcut(QKeySequence::New); connect(mNewAction, SIGNAL(triggered()), this, SLOT(slotNewFile())); mOpenAction = fileMenu->addAction(tr("&Open...")); mOpenAction->setIcon(QPixmap(":/shared-icons/document-open")); mOpenAction->setShortcut(QKeySequence::Open); connect(mOpenAction, SIGNAL(triggered()), this, SLOT(slotFileOpen())); mFileOpenRecent = new QRecentFileAction(this); QSettings settings; mFileOpenRecent->setRecentFiles(settings.value(QLatin1String("Recent Files"),QStringList()).toStringList()); fileMenu->addAction(mFileOpenRecent); connect(mFileOpenRecent, SIGNAL(recentFileSelected(QString)), this, SLOT(slotFileOpenRecent(QString))); connect(mFileOpenRecent, SIGNAL(recentFileListChanged()), this, SLOT(slotSaveRecentFiles())); mUseTemplateAction = fileMenu->addAction(tr("Use &Template...")); connect(mUseTemplateAction, SIGNAL(triggered()), this, SLOT(slotImport())); fileMenu->addSeparator(); mSaveAction = fileMenu->addAction(tr("Save...")); mSaveAction->setIcon(QPixmap(":/shared-icons/document-save")); mSaveAction->setShortcut(QKeySequence::Save); connect(mSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); mSaveAsAction = fileMenu->addAction(tr("&Save As...")); mSaveAsAction->setIcon(QPixmap(":/shared-icons/document-save-as")); mSaveAsAction->setShortcut(QKeySequence::SaveAs); connect(mSaveAsAction, SIGNAL(triggered()), this, SLOT(slotSaveAs())); mSaveAsDefaultAction = fileMenu->addAction(tr("Save as &Default")); connect(mSaveAsDefaultAction, SIGNAL(triggered()), this, SLOT(slotSaveDefault())); mReloadAction = fileMenu->addAction(tr("&Reload")); mReloadAction->setShortcut(Qt::Key_F5); connect(mReloadAction, SIGNAL(triggered()), this, SLOT(slotReload())); fileMenu->addSeparator(); mCloseAction = fileMenu->addAction(tr("Close")); mCloseAction->setIcon(QPixmap(":/shared-icons/document-close")); mCloseAction->setShortcut(QKeySequence::Close); connect(mCloseAction, SIGNAL(triggered()), this, SLOT(slotFileClose())); fileMenu->addSeparator(); mQuitAction = fileMenu->addAction(tr("Quit")); mQuitAction->setIcon(QPixmap(":/shared-icons/window-close")); mQuitAction->setShortcut(QKeySequence::Quit); connect(mQuitAction, SIGNAL(triggered()), this, SLOT(close())); QMenu *actionMenu = menuBar()->addMenu(tr("&Actions")); mQueryAction = actionMenu->addAction(tr("&Query")); #ifndef Q_OS_UNIX mQueryAction->setEnabled(false); #endif connect(mQueryAction, SIGNAL(triggered()), this, SLOT(slotQuery())); //mProcessingManager = actionMenu->addAction(tr("Show Processing Manager")); QMenu *settingsMenu = menuBar()->addMenu(tr("&Settings")); //Settings mExpertMode = settingsMenu->addAction(tr("&Expert Mode")); mExpertMode->setCheckable(true); connect(mExpertMode, SIGNAL(triggered(bool)), this, SLOT(slotExpertMode())); settingsMenu->addSeparator(); settings.beginGroup("General"); if ( settings.contains("expertMode")) mExpertMode->setChecked(settings.value("expertMode").toBool()); else mExpertMode->setChecked(true); settings.endGroup(); viewMainToolBar = settingsMenu->addAction(tr("Show Main Toolbar")); viewMainToolBar->setCheckable(true); viewMainToolBar->setChecked(true); connect(viewMainToolBar,SIGNAL(triggered()), this,SLOT(slotViewMainToolBar())); viewStatusBar = settingsMenu->addAction(tr("Show StatusBar")); viewStatusBar->setCheckable(true); connect(viewStatusBar,SIGNAL(triggered()), this,SLOT(slotViewStatusBar())); viewStatusBar->setChecked(true); QMenu *helpMenu = menuBar()->addMenu(tr("Help")); QAction *handbook = helpMenu->addAction(tr("Handbook")); handbook->setShortcut(Qt::Key_F1); connect(handbook,SIGNAL(triggered()), this,SLOT(slotHanbook())); QAction *about = helpMenu->addAction(tr("About")); connect(about,SIGNAL(triggered()), this,SLOT(slotAbout())); mMainToolBar->addAction(mNewAction); mMainToolBar->addAction(mOpenAction); mMainToolBar->addAction(mSaveAction); resize(800,600); }