Qt 5とQFileDialogを使用しています。私はファイル名にスラッシュ(/)を付けるようにユーザーを制限したい。QFileDialog:ファイル名を取得
ファイル名を保存するQFileDialogのコードは以下のとおりです。次に、ユーザは、「ダウンロード」フォルダ内のファイル名「abc.csv」を与える場合
QFileDialog saveAsdialog(this);
QString filename = saveAsdialog.getSaveFileName(this, tr("Save
file"), ".", tr("Files (*.csv)"));
はダイアログで、「getSaveFileNameは」正しい「/home/user/Downloads/abc.csv」を返します。
私の質問は、ユーザーがファイル名(/)にスラッシュを付けると正しく動作しないことです。
ユーザーがファイル名 "abc/xyz.csv"を指定したい場合は、正しいファイル名を取得できません。
「OK」をクリックすると正しいファイル名「abc/xyz.csv」を取得するにはどうすればよいですか?
あなたが、その場合には取得しないものに、より詳しく説明してください、そして、あなたの期待は何であることはできますか? – majk
私の期待は、ダイアログボックスでユーザーがファイル名を "abc/xyz.csv"と指定したときに、ユーザーが[OK]ボタンを押してダイアログを閉じるときにファイル名を抽出したい場合です。私は "/home/user/Downloads/abc/xyz.csv"のようなフルパスを取得しています。このパスからは、ユーザーが指定したファイル名を見つけることができません。ユーザーがダイアログを閉じると、ダイアログでユーザーが指定した正確なファイル名をどのように取得するのですか? – Neel
@Neel少なくとも、QFileDialogを派生させて、必要なチェックで 'accept'メソッドを再実装することができます。 – ilotXXI