簡體   English   中英

如果選擇更改,QFileDialog提示覆蓋

[英]QFileDialog prompt to overwrite if selection changed

我希望QFileDialog 在選擇更改時提示覆蓋確認。 有什么辦法可以做到這一點?

當前,我得到一個保存文件名,如下所示:

data_file_name = QtGui.QFileDialog.getSaveFileName(self, "Data File", selected, self.FILTER_DATA_FILE)

如果我要重新保存一個打開的項目,則selected是項目文件的名稱。 如果我要創建一個新項目,則selected是用戶最近一次保存項目的目錄的名稱。 如果輸入的文件名不存在(無論selected的值如何),都不會提示您進行確認。 但是,如果所選名稱是一個存在的文件,則無論selected的值如何,我總是會得到提升以進行確認。 我想要以下行為:

  1. 如果對話框具有默認選擇,並且用戶未更改此選擇,則不會提示您進行確認。
  2. 否則,如果用戶輸入的文件名當前不存在,則不要提示您進行確認。
  3. 否則提示進行確認。 (我不太在乎如果用戶輸入空字符串作為文件名會發生什么情況。)

我目前正在使用Qt 4,但我不反對升級到Qt 5,如果這樣做會使我的生活更輕松。

看來我想要的是不可能的: QFileDialog :: accept()不提供任何用於這種自定義的機制。 我必須在對話框中禁用覆蓋確認,然后自己實現該邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM