Russian Qt Forum

Программирование => С/C++ => Тема начата: DePeBo от Август 25, 2015, 17:49



Название: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 17:49
Всем добрый вечер. :)
Понемногу познаю замечательный QT.
Столкнулся с проблемой, что не могу выбрать несколько файлов и считать их путь.
Подскажите как это можно реализовать, пожалуйста.

В последствие буду выбранные картинки перемещать в папку программы. Количество картинок от 1й до 6ти.

Код:
    QString filename=QFileDialog::getOpenFileName(this,
                                                  tr("Open file"),
                                                  "C://",
                                                  "Picture file (*.jpg)");
    QMessageBox::information(this, tr("File name"), filename);


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: PimenS от Август 25, 2015, 18:02
Используй
Цитировать
QStringList getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0)


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 18:20
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:39: error: 'Options' has not been declared

На эту строчку ругается.

include qstriglist прописал :(


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: PimenS от Август 25, 2015, 18:26
Покажи как написал


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 18:30
Код:
QString filename=QFileDialog::getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0);

Сейчас гуглю. Мб пойму в чем туплю ;D


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: BuRn от Август 25, 2015, 18:35
Код:
QString filename=QFileDialog::getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0);

Сейчас гуглю. Мб пойму в чем туплю ;D
А если так?:
Код:
QString filename=QFileDialog::getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, QFileDialog::Option options = 0);


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: PimenS от Август 25, 2015, 18:40
Просто сделай так:

Код:
QStringList filename=QFileDialog::getOpenFileNames(this,
                                                  tr("Open file"),
                                                  "C://",
                                                  "Picture file (*.jpg)");
    qDebug() << filename;


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 18:50
Просто сделай так:

Код:
QStringList filename=QFileDialog::getOpenFileNames(this,
                                                  tr("Open file"),
                                                  "C://",
                                                  "Picture file (*.jpg)");
    qDebug() << filename;


Код:
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:43: error: no matching function for call to 'QMessageBox::information(ramki4_0* const, QString, QStringList&)'
C:\Qt\4.8.5\src\gui\dialogs\qmessagebox.h:191: candidates are: static QMessageBox::StandardButton QMessageBox::information(QWidget*, const QString&, const QString&, QFlags<QMessageBox::StandardButton>, QMessageBox::StandardButton)
C:\Qt\4.8.5\src\gui\dialogs\qmessagebox.h:217: note:                 static int QMessageBox::information(QWidget*, const QString&, const QString&, int, int, int)
C:\Qt\4.8.5\src\gui\dialogs\qmessagebox.h:220: note:                 static int QMessageBox::information(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int, int)
C:\Qt\4.8.5\src\gui\dialogs\qmessagebox.h:227: note:                 static QMessageBox::StandardButton QMessageBox::information(QWidget*, const QString&, const QString&, QMessageBox::StandardButton, QMessageBox::StandardButton)


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 18:52
Код:
QString filename=QFileDialog::getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0);

Сейчас гуглю. Мб пойму в чем туплю ;D
А если так?:
Код:
QString filename=QFileDialog::getOpenFileNames(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, QFileDialog::Option options = 0);



Код:
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before '*' token
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before 'const'
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before 'const'
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before 'const'
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before '*' token
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: 'selectedFilter' was not declared in this scope
C:\Users\dmitry.rikhter\ramki4_0\ramki4_0.cpp:38: error: expected primary-expression before 'options'


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: PimenS от Август 25, 2015, 18:52
зачем QMessageBox. Понятно что он не понимает QStringList

ЗЫ просто выведи список файлов в qDebug


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 19:22
О круто. А сразу можешь написать как с qDebug вывести значения по отдельности? ::)


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: PimenS от Август 25, 2015, 19:28
http://habrahabr.ru/post/127870/ (http://habrahabr.ru/post/127870/)


Название: Re: QFileDialog - выбор нескольких файлов
Отправлено: DePeBo от Август 25, 2015, 20:19
Спасибо!