Qt标准对话框之QFileDialog

本文介绍如何使用Qt创建菜单栏和工具栏,并通过示例代码展示了如何添加文件操作选项,如打开、保存及另存为等功能,并设置快捷键。

在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)"));
   //.....
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值