crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Yura
  опции профиля:
сообщение 28.7.2009, 22:18
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 13.10.2008
Пользователь №: 391

Спасибо сказали: 0 раз(а)




Репутация:   0  


OS linux ubuntu, qt 4.5.2, IDE NetBeans 6.7

есть слот:
Код:

void MainWidget::SlotSaveGraphic() {
    QString str = QFileDialog::getSaveFileName(0, "Сохранить график", "", "Images (*.png *.xpm *.jpg)");
}

слот соединен с кнопкой. При нажатии виснет программа намертво. Наблюдается именно в NetBeans 6.7 под линуксом.
Если компилирую через QDevelop или "ручками" (qmake -project, qmake, make) то всё работает и нечего не виснет... пользователю предлагается ввести имя файла.
Пробовал компилировать в NetBeans 6.7 под виндой - тоже всё отлично работает.
непонятно почему при вызове SlotSaveGraphic() программа виснет именно когда компилирую в среде NetBeans под линуксом
???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Yura
  опции профиля:
сообщение 30.7.2009, 6:37
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 13.10.2008
Пользователь №: 391

Спасибо сказали: 0 раз(а)




Репутация:   0  


ну вот:


QString QFileDialog::getSaveFileName(QWidget *parent,
                                     const QString &caption,
                                     const QString &dir,
                                     const QString &filter,
                                     QString *selectedFilter,
                                     Options options)
{
    if (qt_filedialog_save_filename_hook)
        return qt_filedialog_save_filename_hook(parent, caption, dir, filter, selectedFilter, options);
    QFileDialogArgs args;
    args.parent = parent;
    args.caption = caption;
    args.directory = QFileDialogPrivate::workingDirectory(dir);
    args.selection = QFileDialogPrivate::initialSelection(dir);
    args.filter = filter;
    args.mode = AnyFile;
    args.options = options;

#if defined(Q_WS_WIN)
    if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog)) {
        return qt_win_get_save_file_name(args, &(args.directory), selectedFilter);
    }
#endif

    // create a qt dialog
    QFileDialog dialog(args);
    dialog.setAcceptMode(AcceptSave);
    if (selectedFilter)
        dialog.selectNameFilter(*selectedFilter);
    if (dialog.exec() == QDialog::Accepted) {
        if (selectedFilter)
            *selectedFilter = dialog.selectedFilter();
        return dialog.selectedFiles().value(0);
    }

    return QString();
}



только что это даст?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 2.8.2025, 3:24