1

QFileSystemModelを使用してQTreeViewにディレクトリリストを表示する簡単なプログラムを作成しました。

QPushButtonを使用すると、プログラムは新しいディレクトリを作成しているスロットを呼び出しますが、新しいディレクトリを作成することはありません。

これは、新しいディレクトリを作成するスロットです。

QModelIndex index=viewTreeForModel->currentIndex();

if (!index.isValid()) return;

QString filename=QInputDialog::getText(this, "Enter Name Dialog", "Enter name");

modelFile->mkdir(viewTreeForModel->currentIndex(), filename);

プログラムの実行時にエラーメッセージが表示されません。

4

1 に答える 1

2

QModelIndexmkdirによって返されたものが有効であることを確認してください。

あなたも試すことができます

const bool success = QDir(modelFile->filePath(index)).mkdir(string);

次に、の値を確認しますsuccess

余談ですが、変数の名前stringをのような名前に変更することをお勧めしますnewfilename。これにより、コードが読みやすくなります。

于 2012-04-17T12:01:47.400 に答える