2016-07-28 77 views
3

我需要後綴添加到選定的文件名中QFileDialogQFileDialog::AcceptSave接受模式後加後綴。例如,選擇後QFileDialog編輯「的1.txt」文件應選擇「1_suffix.txt」。它應該在文件接受之前添加,因爲我需要用戶有能力在應用文件之前更改文件名。QFileDialog:選擇文件

代碼:

m_dialog.setAcceptMode(QFileDialog::AcceptSave); 
m_dialog.setWindowModality(Qt::WindowModal); 
m_dialog.setFileMode(QFileDialog::AnyFile); 
m_dialog.setDefaultSuffix("_suffix"); 
if(m_dialog.exec() == QFileDialog::Accept) 
{ 
    setPath(m_dialog.selectedFiles()[0]); 
} 

回答

1

通常,QFileDialog正在顯示平臺文件對話框。爲了獲得你想要的行爲,你需要使用平臺特定的機制; Qt沒有實現這樣的功能。

如果你使用非本地文件對話框,你可以檢查它的結構,找到你後的小窗口,過濾這些相關事件,並注入需要的行爲。

0

儘量延長QFileDialog和訂閱QFileDialog信號

void fileSelected(QString file) 
    void currentChanged(QString path) 

它可以是一個開始。

+0

QFileDialog閉文件對話框之後發出這一信號。 –