Просмотр, список и удаление файлов с помощью qt - PullRequest
1 голос
/ 19 ноября 2010

Я создал следующую форму с помощью qt designer. Я добавил кнопку «Добавить файлы», которая работает с QDir и QFileDialog и загружает файлы в listWidget.

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 или клавиши управления (для macs) и нажимать delete, чтобы удалить эти файлы из моего списка.

Должен ли я использовать QtreeWidget вместо listwidget?

Каковы наилучшие практики для этого?

какие-либо предложения по коду?

Спасибо всем!

1 Ответ

3 голосов
/ 19 ноября 2010

Если вы просто выводите список файлов (без структуры папок и подпапок), вам не нужно QTreeWidget.

Но поскольку вы хотите указать местоположение и размер файла, я бы использовал QTableWidget (или QTableView).

Однако я бы посоветовал взглянуть на QFileSystemModel. В зависимости от того, что вы пытаетесь сделать со своим приложением, этот класс может пригодиться: вы можете использовать эту модель и отобразить ее в виджете представления.

И QFileSystemModel поставляются с такими методами, как remove () , и также будут обрабатывать переименование файлов.

...