1

qtデザイナーで以下のフォームを作成しました。QDir と QFileDialog で動作し、ファイルを listWidget にロードする [ファイルを追加] ボタンを追加しました。

代替テキスト

このフォームにファイルを入力する方法は次のとおりです。

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キーまたはコマンドキー(Macの場合)を使用してファイルを選択し、削除を押してこれらのファイルをリストから削除できるようにしたいだけです。

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

それを行うためのベストプラクティスは何ですか?

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

皆さん、ありがとうございました!

4

1 に答える 1

3

ファイルを一覧表示するだけの場合 (フォルダーとサブフォルダー構造がない場合) QTreeWidget、.

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

ただし、 をご覧になることをお勧めしますQFileSystemModel。アプリで何をしようとしているのかによっては、このクラスが役立つ場合があります。このモデルを使用して、ビュー ウィジェットに表示できます。

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

于 2010-11-19T06:36:15.380 に答える