Russian Qt Forum
Ноябрь 24, 2024, 13:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4] 5   Вниз
  Печать  
Автор Тема: QFileDialog если файл не выбран[РЕШЕНО]  (Прочитано 29500 раз)
mutineer
Гость
« Ответ #45 : Март 13, 2012, 14:52 »

закрыть надо при пустой, разве не так проверить на пустоту?

а вообще даже если так написать, всё равно даже выбор файла не появится
Код:
void MainWindow::drawPlot()
{
//мне кажется так не правильно!
        Plot y;
        y.show();
        //открытие файла
        QString strCheck = QFileDialog::getOpenFileName(0, "Выберити файл для открытия", "", "*.plot");
        if(!strCheck.isEmpty())
            y.setFileName(strCheck);

        else
            y.close();
}

Код
C++ (Qt)
QString strCheck = QFileDialog::getOpenFileName(0, "Выберити файл для открытия", QString(), "*.plot");
попробуй так

strCheck.isEmpty() == true если строка пустая
!strCheck.isEmpty() == true если строка не пустая
Записан
QuAzI
Гость
« Ответ #46 : Март 13, 2012, 14:55 »

всё равно даже выбор файла не появится
Должен или матюкнуться или событие drawPlot не наступает. Это вообще откуда?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #47 : Март 13, 2012, 14:56 »

почему так сложно создать объект Plot только если файл был выбран?
Код
C++ (Qt)
void MainWindow::drawPlot()
{
   QString strCheck = QFileDialog::getOpenFileName(this, "Выберите файл для открытия", "", "*.plot");
   if(!strCheck.isEmpty())
   {
       Plot y;
       y.setFileName(strCheck);
       y.show();
   }
}

а в методе showPlot() - утечка памяти
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Zeka13
Гость
« Ответ #48 : Март 13, 2012, 15:04 »

QuAzI, так тоже не работает с той же ошибкой
mutineer, я же сказал, что никак не работает
Записан
mutineer
Гость
« Ответ #49 : Март 13, 2012, 15:05 »

QuAzI, так тоже не работает с той же ошибкой
mutineer, я же сказал, что никак не работает

QString() вместо "" ставить в третий параметр пробовал? Или читать предпочитаешь выборочно?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #50 : Март 13, 2012, 15:14 »

QuAzI, так тоже не работает с той же ошибкой
mutineer, я же сказал, что никак не работает
у тебя наверное в MainWindow кнопка не к тому слоту привязана - должна быть к drawPlot()
QuAzI, так тоже не работает с той же ошибкой
mutineer, я же сказал, что никак не работает

QString() вместо "" ставить в третий параметр пробовал? Или читать предпочитаешь выборочно?
это не влияет
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mutineer
Гость
« Ответ #51 : Март 13, 2012, 15:16 »

это не влияет

это влияет на работу проверки isNull() у строки
Записан
Zeka13
Гость
« Ответ #52 : Март 13, 2012, 15:18 »

ничего не изменилось ...
Записан
QuAzI
Гость
« Ответ #53 : Март 13, 2012, 15:21 »

Тогда так, при условии что QFileDialog, QDir и QString объявлены в инклюдах
Код:
void MainWindow::drawPlot()
{
        QString strCheck = QFileDialog::getOpenFileNames( this, QString("Select plugin files"), QDir::currentPath(), QString("Plot files (*.plot)")) );

        if(!strCheck.isEmpty())
       {
           Plot y;
           y.setFileName(strCheck);
           y.show();
       }
}
И при условии, что событие наступает. А оно не наступает, более чем уверен. И исходников принципиально аffтор не даст
Записан
Bepec
Гость
« Ответ #54 : Март 13, 2012, 15:25 »

Ребят. Я думаю вы хней маетесь... Уже второй такой человек на форуме - даёт некорректную задачу с некорректным решением.

И вместо того чтобы человека направить на правильное использование - все начинают решать его некорректную задачу. И корёжить без того странный разум автора...
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #55 : Март 13, 2012, 15:46 »

это не влияет

это влияет на работу проверки isNull() у строки
у строки - да, а диалогу выбора файла всё равно
Ребят. Я думаю вы хней маетесь... Уже второй такой человек на форуме - даёт некорректную задачу с некорректным решением.

И вместо того чтобы человека направить на правильное использование - все начинают решать его некорректную задачу. И корёжить без того странный разум автора...
задача корректна и ясна, а ТС просто ответы читать не умеет
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #56 : Март 13, 2012, 15:48 »

Таки зачем писать, если автор неадекватен?
Записан
sudo
Гость
« Ответ #57 : Март 13, 2012, 16:04 »

И вместо того чтобы человека направить на правильное использование - все начинают решать его некорректную задачу. И корёжить без того странный разум автора...

Главное - себе не корёжить Веселый Я обычно на такие вопросы спинным мозгом отвечаю Веселый
Записан
Zeka13
Гость
« Ответ #58 : Март 13, 2012, 16:07 »

вот исходники, нужна библиотека qwt 6 для сборки
в репах есть libqwt-dev
Записан
V1KT0P
Гость
« Ответ #59 : Март 13, 2012, 16:14 »

вот исходники, нужна библиотека qwt 6 для сборки
в репах есть libqwt-dev
Дык тебя попросили выложить минимальный рабочий пример. Это значит что надо скопировать проект и обрезать все что не касается ошибки. Отобразить два окна и одно диалоговое окно можно и без библиотеки qwt 6.
Записан
Страниц: 1 2 3 [4] 5   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.218 секунд. Запросов: 23.