在mainwindow.h MainWindow类添加:
public slots:
void openDlg();
void saveDlg();
构造函数添加:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,600);
QMenu *menu_F = menuBar()->addMenu(tr("文件(&F)"));
QAction *openAction = new QAction(tr("打开"));
QIcon icon1(tr(":/image/open.ico"));
openAction->setIcon(icon1);
openAction->setShortcut(QKeySequence(tr("Ctrl+O")));
QAction *saveAction = new QAction(tr("保存"));
QIcon icon2(tr(":/image/save.ico"));
saveAction->setIcon(icon2);
saveAction->setShortcut(QKeySequence(tr("Ctrl+S")));
QAction *save_asAction = new QAction(tr("另存为"));
QIcon icon3(tr(":/image/save_as.ico"));
save_asAction->setIcon(icon3);
save_asAction->setShortcut(QKeySequence(tr("Ctrl+A")));
menu_F->addAction(openAction);
menu_F->addAction(saveAction);
menu_F->addAction(save_asAction);
QToolBar *file = addToolBar(tr("文件"));
file->addAction(openAction);
file->addAction(saveAction);
file->addAction(save_asAction);
file->addSeparator();//增加分隔符
connect(openAction,&QAction::triggered,this,&MainWindow::openDlg);
connect(saveAction,&QAction::triggered,this,&MainWindow::saveDlg);
connect(save_asAction,&QAction::triggered,this,&MainWindow::saveDlg);
}
openDlg
void MainWindow::openDlg()
{
QString filename = QFileDialog::getOpenFileName(this,tr("打开"),tr("C:"),tr("图片文件(*.png *.jpg);;文本文件(*.txt)"));
//QStringList filenames = QFileDialog::getOpenFileNames(this,tr("打开"),tr("C:"),tr("图片文件(*.png *.jpg);;文本文件(*.txt)"));
//....
}
saveDlg
void MainWindow::saveDlg()
{
QString savefile = QFileDialog::getSaveFileName(this,tr("保存"),tr("未命名"),tr("图片文件(*.png *.jpg);;文本文件(*.txt)"));
//.....
}
本文介绍如何使用Qt创建菜单栏和工具栏,并通过示例代码展示了如何添加文件操作选项,如打开、保存及另存为等功能,并设置快捷键。
1569

被折叠的 条评论
为什么被折叠?



