Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2014, 17:48   #141
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Цитата:
Запустите у себя примерчик (управлять стрелками) Это я часть примера из этой книги переписал на Qt
прикольно)
Все хидеры подключил правильно, в отлавливающем блоке обьект класса диалог - приложение открывается и моментально закрывается, а когда пытаюсь закрыть Qt сообщение Qt is still running

Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    try
    {
        Dialog w;
        w.show();
    }
    catch(const std::out_of_range& e)
    {
        QString message( e.what() );
        QMessageBox::critical( 0, "Error", "Out of range: " + message );
        return 1;
    }
    return a.exec();
}

Последний раз редактировалось igoreshka3333; 26.10.2014 в 18:04.
igoreshka3333 вне форума Ответить с цитированием
Старый 26.10.2014, 18:03   #142
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

У вас функция set_Time() выбрасывает исключение, если её параметры оказались вне диапазона. Вызов этой функции происходит вот здесь:
Код:
void Dialog::on_pushButton_clicked()
{
    int h = ui->InsertHourLineEdit->text().toInt();
    int m = ui->InsertMinLineEdit->text().toInt();
    int s = ui->InsertSecLineEdit->text().toInt();
    t.set_Time(h, m, s);
    _timer.start( 1000 );
}
Вот её и нужно поместить в блок try{}, отловить и обработать исключение
8Observer8 вне форума Ответить с цитированием
Старый 26.10.2014, 18:34   #143
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Спасибо) понял. Надеюсь все правильно исправил!
igoreshka3333 вне форума Ответить с цитированием
Старый 26.10.2014, 21:01   #144
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Исключение вы обработали неверно. Я хочу, чтобы вы сами догадались, в чём ошибка:

Код:
void Dialog::on_pushButton_clicked()
{
    // ...

    try
    {
        t.set_Time(h, m, s);
    }
    catch(const std::out_of_range& e)
    {
        QString message( e.what() );
        QMessageBox::critical( 0, "Error", "Out of range: " + message );
    }

    // ...
}
8Observer8 вне форума Ответить с цитированием
Старый 26.10.2014, 22:02   #145
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Вы насчет return 1?
igoreshka3333 вне форума Ответить с цитированием
Старый 26.10.2014, 23:06   #146
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Да, но только почему "return 1"? Разве функция "Dialog::on_pushButton_clicked( )" что-то возвращает?
8Observer8 вне форума Ответить с цитированием
Старый 28.10.2014, 18:29   #147
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Исправил:

Код:
try
    {
        int h = ui->InsertHourLineEdit->text().toInt();
        int m = ui->InsertMinLineEdit->text().toInt();
        int s = ui->InsertSecLineEdit->text().toInt();
        t.set_Time(h, m, s);
    }
Верно?
igoreshka3333 вне форума Ответить с цитированием
Старый 28.10.2014, 19:05   #148
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Да. Вот вы до этого исходники скидывали, а программа завершалась сразу. Наверное поэтому. Дайте ссылку на исправленный код

Последний раз редактировалось 8Observer8; 28.10.2014 в 19:10.
8Observer8 вне форума Ответить с цитированием
Старый 28.10.2014, 19:16   #149
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

_______________
Ссылка
igoreshka3333 вне форума Ответить с цитированием
Старый 28.10.2014, 19:23   #150
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Вы его запускали?
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
описать класс в с# volkodinocka Помощь студентам 0 09.11.2013 22:05
Описать класс С# NeoX_2011 Помощь студентам 1 19.03.2012 00:10
C# исправление ошибки. Описать класс, реализующий шестнадцатеричный счетчик PROkaZZZniK Помощь студентам 7 09.02.2012 16:29
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Описать класс. Telec Общие вопросы C/C++ 1 30.04.2010 18:43