2.6 Разработка пользовательского интерфейса
При разработке ПС использовалось создание приложения на базе главного окна класса QMainWindow. Главное окно предоставляет структуру для создания пользовательского интерфейса приложения. Qt имеет класс QMainWindow и связанные с ним классы для управления главным окном. QMainWindow имеет собственный компоновщик, в который вы можете добавлять QToolBarы, QDockWidgetы, QMenuBar, и QStatusBar. Компоновщик имеет центральную область, которая может быть занята любым виджетом. В данной программе в центральной области поле ввода даты и кнопка.
2.7 Кодирование модулей ПС
Для получения прогноза пользователь выбирает нужную дату и нажимает кнопку «Получить». По нажатию данной кнопки вызывается слот on_pushButton_clicked(), в котором считывается дата. После чего создается диалоговое окно с помощью класса QDialog, и начинается считывание гороскопа из файла. Какой именно выбрать файл позволяет функция what_sign(day,month), аргументами которой являются день и месяц.
После считывания гороскопа, формируется и выводится на экран диалоговое окно с содержимым файла. При отсутствии выбранного файла программа оповестит с помощью окна предупреждения на базе QMessageBox, какого именно файла нет в папке гороскопов.
Для редактирования гороскопа нужно вызвать диалоговое окно путем выбора из «Меню» пункта «Редактировать гороскоп», либо открыть одноименное окно путем сочетания клавиш «Ctrl» + «E». После чего вызовется слот on_actionEdit_triggered(). После вывода окна редактирования на нем будут доступны две кнопки «Открыть файл» и «Сохранить», которые связаны со слотами on_pushButton_clicked() и on_pushButton_2_clicked() соответственно. Первый слот позволяет считать и вывести на экран выбранный файл, второй слот сохраняет этот файл, а именно обновляет его содержимое.
void MainWindow::on_pushButton_clicked()
{
QDate date = ui->dateEdit->date();//считываем дату
int day = date.day();//разделяем день
int month = date.month();//и месяц
QDialog *dlg = new QDialog(this);//создаем указатель на диалоговое окно
QTextEdit *textEdit = new QTextEdit(dlg);//и указатель текст , который будет выводится из файла
textEdit->viewport()->setAutoFillBackground(false);//сделаем фон прозрачный
textEdit->setFrameStyle(QFrame::NoFrame);//и без рамки
textEdit->setReadOnly(true);//и только для чтения
QString filename,name;// перменные текстового файла и знака
// Вычисляем знак зодиака
filename = what_sign(day,month);// получаем название текст. файла
name = name_sign(day,month);//и название гороскопа
QString pp(PROJECT_PATH);//путь к папке с гороскопами
QFile file(pp+"/zz/"+filename); /* объявляем файл */
if (file.exists()) // если файл найден
{
file.open(QIODevice::ReadOnly|QIODevice::Text);//открываем для чтения
QString text = file.readAll(); // считываем весь текст
textEdit->setText(text); // выводим текст файла на экран
textEdit->show();//выводим текст
dlg->setWindowTitle(name);//установиим название окна
dlg->show();//и выведем окно
}
else// если не найдет файл выведем предупреждение об ошибке
QMessageBox::critical(this,"Ошибка","Файл "+filename+" не найден");
}
- Введение
- 1. Анализ задания, выбор технологии, языка и среды разработки
- 2. Разработка ПС
- 2.1 Описание задачи
- 2.2 Определение структуры ПС
- 2.4 Описание работы ПС
- 2.5 Организация данных
- 2.6 Разработка пользовательского интерфейса
- 3. Выбор стратегии тестирования и отладка ПС
- 4. Системные требования, возможности ПС
- Заключение
- Windows Forms приложения
- Восточный гороскоп
- Лекция 4. Ректификация гороскопа
- Разработка приложений в среде windows. Диалоговые окна. Меню
- 3. Гороскоп
- Предназначение по гороскопу.
- 2.1 Гороскопы
- Создание Windows-приложения
- 4.2.Windows Forms приложение
- Несколько замечаний в заключение Психотипы и гороскопы