2010-11-19 16 views
1

qt designerで次のフォームを作成しました。 QDirとQFileDialogで動作し、ファイルをlistWidgetに読み込むAdd Filesボタンを追加しました。ここでqtでファイルを参照、一覧表示、削除する

alt text

ファイルでこのフォームを記入し、私の方法です。

void RightDoneIt::changeDirectory() 
{ 
/* select a directory using file dialog */ 
    QString path = QFileDialog::getExistingDirectory (this, tr("Directory"), directory.path()); 
    if (path.isNull() == false) 
    { 
     directory.setPath(path); 
     fillList(); 
    } 
} 


/*get list of file from given directory and the append it to listWidget */ 
void RightDoneIt::fillList() 
{ 
    ui->listWidget->clear(); 
    ui->listWidget->addItems(directory.entryList()); 



} 

私は、ファイル名に次のファイルの場所とファイルサイズを一覧表示することができますし、また、これはファイルのボタンの動作を削除するために、私のように、コードを修正したいと思います。

CtrlキーまたはCommandキー(Macの場合)を使用してファイルを選択し、削除を押してこれらのファイルをマイリストから削除したい場合は、

私はlistwidgetの代わりにQtreeWidgetを使用する必要がありますか?

これを実行するベストプラクティスは何ですか?

コードのご提案はありますか?

ありがとうございました!

答えて

3

ファイルを一覧表示するだけの場合(フォルダとサブフォルダ構造はありません)、QTreeWidgetは必要ありません。

ファイルの場所とファイルサイズを表示したい場合は、QTableWidget(またはQTableView)を使用します。

しかし、私はQFileSystemModelを見ることをお勧めします。アプリで何をしようとしているかによって、このクラスが便利になるかもしれません。このモデルを使用して、ビューウィジェットに表示できます。

QFileSystemModelには、remove()などのメソッドが付属しており、ファイルの名前の変更も処理されます。

+0

こんにちはジェローム、私はシステムからではなく、リストからファイルを削除するつもりでした。 – Sharethefun

関連する問題