3. Создание простого текстового редактора, использование таймера.

Программирование Программирование на С++ Использование библиотеки Qt/QML Практические задания Qt 3. Создание простого текстового редактора, использование таймера.

Помечено: ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 11 мес., 2 нед. назад.

  • Автор
    Сообщения
  • #4845
    @admin

    1. Запустить QtCreator. Создать приложение Qt Widgets. Поместить на форму элементы: textEdit, Label, pushButton (4 штуки), verticalSpacer и скомпоновать так, чтобы получилось примерно следующее:

    2. Прописать процедуры для каждой кнопки:

    • Кнопка «Открыть», objectName — open_text. Текст должен открываться как на английском, так и на русском. Использовать QTextStream.
    • Кнопка «Сохранить», objectName — save_text. Текст должен сохраняться и читаться в файле как на английском, так и на русском. Использовать QTextStream.
    • Кнопка «Очистить», objectName — clear_text.: используя функцию clear() очистить содержимое TextEdit.
    • Кнопка «Выход», objectName — exit_text. Выход из программы с предварительным сохранением содержимого textEdit по запросу.

    3. Реализовать автосохранение во временный файл с помощью таймера. Выдавать информацию о произведенном автосохранении. По выходу из программы удалять временные файлы.
    Например, можно сделать так:

    • Пишем функцию автосохранения autosave(), в которой будет происходить сохранение текста из TextEdit в том случае, если в Label уже занесен путь и имя файла (по заданию в Label всегда будет указан путь с именем текущего файла). Имя временного файла формировать так: «имя_temp». Добавляем сообщение QMessageBox::information с информацией об автосохранении (для проверки работы программы).
    • В MainWindow создаем таймер и соединяем сигнал timeout() (запускается по истечении указанного промежутка времени) с нашей функцией.
      QTimer *timer = new QTimer(this);
      connect(timer, SIGNAL(timeout()), this, SLOT(autosave()));
      timer->start(10000);

    4. Создать однократный таймер для показа логотипа вашей компании по истечении определенного промежутка времени. То есть, пользователь открыл программу, поработал заданный вами промежуток времени и затем ему выходит сообщение о том, что, к примеру, «Вы используете нашу программу уже 10 мин. Мы рады, что она вам понравилась», и логотип. Также это может быть сообщение, например, о том, что срок действия пробной версии программы истек.
    Однократный таймер создается следующим образом:

    QTimer::singleShot(20000, this, SLOT(hello()));

    Где hello() – ваша процедура, в которой происходит информирование пользователя о вышесказанном. 20000 – временной интервал в миллисекундах, по истечению которого произойдет вызов процедуры hello().

Для ответа в этой теме необходимо авторизоваться.