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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как организовать обработку событий?  (Прочитано 2031 раз)
sanaforewer
Гость
« : Сентябрь 16, 2012, 11:14 »

Задача: сделать приложение выключающее компьютер если он включен в определенный промежуток времени

У меня сейчас есть 2 формы
1) первая форма показывает сообщение "компьютер включен в неположеное время"
2) вторая форма предназначена для ввода данных о времени выключения компьютера (например с 8 до 18). и сохраняет данные в файле.
Вторая форма появляется только при нажатии определенного сочетания клавиш.

(по моему я не могу сделать функциональную декомпозицию программы)

сейчас я сделал функцию main в ней запускается форма 1 которая выводит сообщение о том что "компьютер включен в неположеное время"
срабатывает таймер 1.5 секунды и компьютер отключается.

вот текст (вряд ли это вообще Живой вариант скорее всего надо делать как то совсем по другому)

Код:
int main(int argc, char *argv[])
{     
    //класс TimeStorage предназначен для хранения времени в файле на жестком диске
    TimeStorage time;
   
    //считать вввод клавиши с клавиатуры
    //если введена нужная клавиша запустить меню для ввода времени
    //НЕ ЗНАЮ как это реализовать

    QTime *myTime1 = new QTime(QTime :: currentTime());
    //если компьютер включен в ДОПУСТИМОЕ время то выполнение программы заканчивается return и всё
    if ((myTime1->hour() < time.getMinTimeHour() ) || (myTime1->hour() > time.getMaxTimeHour() )) {
        delete myTime1;
        return 0;
    }
   
    QTextCodec::setCodecForTr(QTextCodec::codecForName ("Windows-1251"));
    QApplication a(argc, argv);
   
    //Form - класс выводящий сообщение о недопустимом времени включения компьютера
    Form f;
   
    //MyMainClass состоит из всего одного слота - для выключения компьютера
    MyMainClass *my = new MyMainClass(&f);
   
    //флаги для того чтобы форму нельзя было закрыть
    f.setWindowFlags(Qt :: Window | Qt :: WindowTitleHint | Qt::FramelessWindowHint);
    //запуск таймера до выключения
    QTimer :: singleShot(1500, my, SLOT(slotShutDown()));
    //отображение формы с сообщением о недопустимом времени включения компьютера
    f.show();
    return a.exec();
}

ВОПРОС: как ( с точки зрения АРХИТЕКТУРЫ программы) сделать так чтобы при включении компьютера если нажата определенная комбинация клавиш то появлялась форма для ввода времени
а если ничего не нажато то появлялась вторая форма с сообщением и выключался компьютер.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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