ディレクトリの存在をチェックする際に問題があります。 iは、ユーザ入力(例えばにQLineEdit)からのパスを取ると、ディレクトリが存在するかどうか、ユーザーが「K:\」のパスを指定した場合の確認(k個のドライブがまったく存在しない)私のコードは、このQDir :: existsは、無効なディレクトリに対してtrueを返します。
QDir tmp("K:\\");
if(tmp.exists())
return true;
else
return false;
ようになりドライバ文字 "K"がマップされていないので、理想的にはfalseを返すべきですが、残念ながら常に真を返します。または ディレクトリの存在を確認する正しい方法は何ですか?
QDirドキュメントでは、\\の代わりに/を使用するように指定しています。ファイリングシステムを含む各デバイスのルートディレクトリのリストを提供する静的関数drives()を試し、k:がリストされているかどうか確認してください。 –
ありがとう、これで試してみましょう... – maxchirag