QFileDialog 打開文件,可修改按鈕名稱

QFileDialog fileDialog(this, QString("請選擇文件夾"), QString("/"), QString("文件夾"));

fileDialog.setLabelText(QFileDialog::Accept, "確定");//文字可以修改成你自己想要的

fileDialog.setLabelText(QFileDialog::Reject, "取消");//文字可以修改成你自己想要的

//fileDialog.setFileMode(QFileDialog::DirectoryOnly); //只顯示文件夾

//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.csdn.net/lxj362343/article/details/105726635

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章