QFileDialog (Выбор множества файлов)

Модератор: Модераторы разделов

kinder
Сообщения: 151
ОС: Mandriva 2009 Spring

QFileDialog

Сообщение kinder »

Не смог я самостоятельно разобраться как в QFileDialog выбирать множество файлов, но понятно что это можно.
Когда я в строке от руки пишу имена фалов типа "file1.ext" "file2.ext" и т.д. то диалог возращает множество файлов,
а когда я пытаюсь мышкой выбрать множество файлов удерживая shift или ctrl то выбирается только одни файл.

кусок кода:

Код: Выделить всё

    QFileDialog dialog(this,
     trUtf8("Open Image"), lastDir, trUtf8("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.tif *.gif *.pnm *.pgm *.pbm *.ppm)"));
    if (dialog.exec()) {
        QStringList fileNames;
        fileNames = dialog.selectedFiles();
        lastDir = dialog.directory().path();
        for (int i = 0; i < fileNames.size(); ++i){
            loadFile(fileNames.at(i));
        }
    }



P.S. Пытаюсь доточить до вменяемого состояния yagf (сделать множественный выбор растров), а то по одному 200 растров добавлять нет желания :-)
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: QFileDialog

Сообщение NickLion »

Код: Выделить всё

    QStringList fileNames =
        QFileDialog::getOpenFileNames(
            this,
            trUtf8("Open Image"),
            lastDir,
            trUtf8("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.tif *.gif *.pnm *.pgm *.pbm *.ppm)")
        );
    for (int i = 0; i < fileNames.size(); ++i){
        loadFile(fileNames.at(i));
    }
Спасибо сказали:
kinder
Сообщения: 151
ОС: Mandriva 2009 Spring

Re: QFileDialog

Сообщение kinder »

Спасибо, вот это то что надо! :-)
А разве нельзя того же добиться создавая объект dialog?
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: QFileDialog

Сообщение NickLion »

Внешне диалог выглядит по-другому, видимо механизм другой. Хотя для уверенности стоит посмотреть исходники.
Спасибо сказали:
Аватара пользователя
SergeyIT
Сообщения: 81
ОС: xUbuntu, MXlinux

Re: QFileDialog

Сообщение SergeyIT »

Посмотрите проперти у диалога fileMode.
Извините, я все еще учусь
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: QFileDialog

Сообщение Atragor »

Код: Выделить всё

dialog.setFileMode(QFileDialog::ExistingFiles)

http://doc.trolltech.com/4.5/qfiledialog.html#FileMode-enum
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: QFileDialog

Сообщение NickLion »

Atragor писал(а):
25.09.2009 17:56

Код: Выделить всё

dialog.setFileMode(QFileDialog::ExistingFiles)

Да, не заметил этого флага, но вот диалог выглядит по другому.
К тому же, в этом варианте (если в настройках - однократное нажатие) выбрать несколько файлов с помощью Ctrl+Click не получается...
Спасибо сказали: