QFileDialog fileDialog(this, QString("请选择文件夹"), QString("/"), QString("文件夹"));
fileDialog.setLabelText(QFileDialog::Accept, "确定");//文字可以修改成你自己想要的
fileDialog.setLabelText(QFileDialog::Reject, "取消");//文字可以修改成你自己想要的
//fileDialog.setFileMode(QFileDialog::DirectoryOnly); //只显示文件夹
//fileDialog.setViewMode(QFileDialog::List);//文件列表显示 List 文件详细信息显示 Detail
//fileDialog.setOption(QFileDialog::DontUseNativeDialog, true); //没有这句话,后面的findChild是空
//fileDialog.setOption(QFileDialog::ShowDirsOnly)
fileDialog.exec();
其中QFileDialog fileDialog(this, QString("请选择文件夹"), QString("/"), QString("文件夹"))的QString("文件夹")是文件过滤,你可以修改成自己要过滤的格式比如tr(
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml);;all file(*)")),即
QFileDialog fileDialog(this, QString("请选择文件夹"), QString("./"), tr("Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml);;all file(*)"));
//或者
QFileDialog fileDialog(this, QString("请选择文件夹"), QString("./"), tr("图片 (*.png *.xpm *.jpg);;文本文件 (*.txt);;XML 文件 (*.xml);;所有文件(*)"));
另外打开文件有两种风格的对话框上图是一种,下图又是一种,文字都是可以更改的
而有一个比较坑的是如果你使用的是getOpenFileName,那么你无法使用setLabelText来修改按钮名称。反正目前我测试了很多次,只要使用getOpenFileName都无法使用setLabelText来修改按钮名称。这个可能是qt的bug或者它本来的设计就是如此。也有可能我使用方法有误。如果大家有更好的方法,欢迎大家留言讨论交流。
QFileDialog ::getOpenFileName的使用 可以参考我的另一篇博文:
qt QFileDialog ::getOpenFileName 打开文件对话框
https://blog.youkuaiyun.com/lxj362343/article/details/105726635