Russian Qt Forum

Qt => Общие вопросы => Тема начата: corpse от Январь 16, 2006, 22:14



Название: QFileDialog HOW??? TO???
Отправлено: corpse от Январь 16, 2006, 22:14
под Linux с QT 3.3.4

   ...
QObject::connect(Button1, SIGNAL(clicked()),FileDialog1,SLOT(exec()));
QObject::connect(FileDialog, SIGNAL(filesSelected(Files)),
                                              ListBox1,SLOT(insertStringList(Files)));
   ...


всё компилится без проблем...
 НО.
при запуске бинарника говорит, что no such signal filesSelected()

но ведь в заголовочном файл qfiledialog.h прописано.

я первый раз в жизни уселся за С и вот скоро сгорю от желания написать прогу

если кто знает

дайте примерчик
как открыть файлы и добавить их (открываемые) ListBox

plz!!! просто не могу но хочу!!! спасите else сгорю

заранее спасибо!!! :cry:


Название: QFileDialog HOW??? TO???
Отправлено: Steven_Orko от Январь 17, 2006, 00:36
Какая версия Qt?
Что такое Files???
ИМХО, обычно соединение сигнала со слотом происходит так:
Код:

connect(FileDialog, SIGNAL(filesSelected(const QStringList&)),ListBox1,SLOT(insertStringList(const QStringList&)));

При таком соединеннии у меня все работало...


Название: Re: QFileDialog HOW??? TO???
Отправлено: SLiDER от Январь 17, 2006, 14:12
Цитата: "corpse"
под Linux с QT 3.3.4

   ...
QObject::connect(Button1, SIGNAL(clicked()),FileDialog1,SLOT(exec()));
QObject::connect(FileDialog, SIGNAL(filesSelected(Files)),
                                              ListBox1,SLOT(insertStringList(Files)));
   ...



FileDialog1 и FileDialog это разные диалоги или опечатка. Внимательно проверь все сигнатуры, особенно для функций, что бы они соответствовали действительности. В Qt сигнал-слоты соединяются по текстовым строкам  и поэтому проблем с компиляцией ни когда не будет, откомпилируется все что угодно. Проверь наличие макросов Q_OBJECT и соответствующих модификаторов для слотов (если FileDialog1 это твои собственные диалоги).


Название: QFileDialog HOW??? TO???
Отправлено: limetree от Январь 18, 2006, 15:18
У меня тоже вопрос по QFileDialog, простите чайника,
пусть есть что-нибудь типа:

QString fn = QFileDialog::getOpenFileName(this, tr("Open File..."),QString(), tr("HTML-Files (*.htm *.html);;TXT-Files (*.txt);;All Files (*)"));


Вопрос: как узнать какой файловый фильтр выбрал пользователь,
т.е. *.txt или *.htm


Название: QFileDialog HOW??? TO???
Отправлено: Racheengel от Январь 18, 2006, 17:20
по расширению файла в fn, наверное...


Название: QFileDialog HOW??? TO???
Отправлено: limetree от Январь 19, 2006, 12:56
Цитировать
по расширению файла в fn, наверное...
- не нравится.

Помню писал 5-ом С++ билдере, там такая штука была.
Спросите зачем?
Например, у меня есть файлы экспортируемы спектрографом с расширением dat. Спектрографы старой серии экспортировали данные в одном формате, новые - в другом. Так вот у меня было:

Старый формат - (*.dat)
Новый формат - (*.dat).

а так надо будет в коде анализировать формат данных.
Оно конечно можно, но не очень охота.


Название: QFileDialog HOW??? TO???
Отправлено: Вудруф от Январь 19, 2006, 13:35
А по-моему проще версию в самом файле задавать...
Magic number (2 байта?)
Version (2 байта?)
Content


Название: QFileDialog HOW??? TO???
Отправлено: limetree от Январь 19, 2006, 16:32
В том то и дело, что у меня нет кода того софта, который экспортирует данные, да и людей, которые это дело наваяли уже не найти. Поэтому файл эакспорта данных такой какой он есть. Надо будет извращаться.


Название: QFileDialog HOW??? TO???
Отправлено: Racheengel от Январь 19, 2006, 17:18
а что за точка в конце фильтра? так можна?