0
我有以下代碼(寫在QT 4.8富文本編輯器),其上我的工作:QFileDialog: - 根據用戶的選擇設置擴展到保存的文件
bool TextEdit::fileSaveAs()
{
QString fn = QFileDialog::getSaveFileName(this, tr("Save as..."),
QString(), tr("ODT document (*.odt);;HTML-Files (*.htm *.html)"), 0, QFileDialog::DontUseNativeDialog);
if (fn.isEmpty())
return false;
if (! fn.endsWith(".txt", Qt::CaseInsensitive) || (fn.endsWith(".odt", Qt::CaseInsensitive) || fn.endsWith(".htm", Qt::CaseInsensitive) || fn.endsWith(".html", Qt::CaseInsensitive)))
fn += ".odt"; // default
setCurrentFileName(fn);
return fileSave();
}
的保存對話窗口允許選擇* .odt和* .html擴展名;但是,默認情況下,始終設置* .odt擴展名(請參閱fn + =「.odt」)。 我知道,我可以改變這一個HTML,但我的目標是擺脫強制拉伸的代碼中設置的,讓文件被保存在保存對話框窗口中選擇的分機:
http://funkyimg.com/i/2efhs.png
我該如何做到這一點?考慮到我是編碼方面的新手,有人可以給我一些實際的例子嗎?
你可以得到什麼類型的文件從selectedFIlter的QString選擇的用戶。使用QString :: contains()函數檢查匹配的字符串。就像if(fn.contains(「。odt」)) –