
- •1. Библиотека qt. Обзор.
- •2. Библиотека qt. Компоненты библиотеки qt.
- •3. Библиотека qt. Простое приложение на qt.
- •4. Библиотека qt. Слоты и сигналы.
- •5. Библиотека qt. Компоновка виджетов.
- •6. Библиотека qt. Управление компоновкой. Абсолютное позиционирование.
- •7. Библиотека qt. Управление компоновкой. Собственный алгоритм.
- •8. Библиотека qt. Управление компоновкой. Менеджеры компоновки.
- •9. Библиотека qt. Управление компоновкой. Стековая компоновка.
- •10. Библиотека qt. Управление компоновкой. Разделители.
- •11. Библиотека qt. Обработка событий.
- •12. Библиотека qt. Фильтры событий.
- •13. Библиотека qt. Обработка событий во время продолжительных процессов.
- •14. Библиотека qt. Работа с бд. Драйверы бд.
- •15. Библиотека qt. Работа с бд. Выполнение запросов к бд (qSqlQuery).
- •16. Библиотека qt. Работа с бд. Модели для работы с бд (qSqlTableModel).
- •17. Библиотека qt. Работа с бд. Связь модели qSqlTableModel с виджетом qTableView.
- •18. Графический интерфейс пользователя. Общие понятия, виды интерфейсов.
- •19. Графический интерфейс пользователя. Классификация интерфейсов.
- •20. Графический интерфейс пользователя. Командный интерфейс.
- •21. Графический интерфейс пользователя. Wimp(оому) интерфейс.
- •22. Графический интерфейс пользователя. Silk(рояз) интерфейс.
- •23. Графический интерфейс пользователя. Эргономика.
- •24. Графический интерфейс пользователя. Когнетика и локус внимания.
- •25. Графический интерфейс пользователя. Кратковременная память пользователя.
- •26. Графический интерфейс пользователя. Долговременная память пользователя.
- •27. Графический интерфейс пользователя. Формирование привычек.
- •28. Графический интерфейс пользователя. Одновременное выполнение задач.
- •29. Критерии качества графического интерфейса пользователя. Скорость выполнения работы.
- •30. Критерии качества графического интерфейса пользователя. Непосредственное манипулирование.
- •31. Критерии качества графического интерфейса пользователя. Потеря фокуса внимания.
- •32. Критерии качества графического интерфейса пользователя. Длительность физических действий.
- •33. Критерии качества графического интерфейса пользователя. Кнопка бесконечного размера.
- •34. Критерии качества графического интерфейса пользователя. Нулевая дистанция до кнопки.
- •36. Критерии качества графического интерфейса пользователя. Количественный анализ интерфейса(goms).
- •37. Критерии качества графического интерфейса пользователя. Человеческие ошибки.
- •38. Критерии качества графического интерфейса пользователя. Природа человеческих ошибок.
- •39. Критерии качества графического интерфейса пользователя. Типы человеческих ошибок.
- •40. Критерии качества графического интерфейса пользователя. Предотвращение человеческих ошибок.
- •41. Критерии качества графического интерфейса пользователя. Блокировка опасных действий пользователя.
- •42. Критерии качества графического интерфейса пользователя. Проверка системой действий пользователя перед их исполнением.
- •43. Критерии качества графического интерфейса пользователя. Самостоятельный выбор команд и параметров системой.
- •44. Критерии качества графического интерфейса пользователя. Обучение работе с системой.
- •45. Критерии качества графического интерфейса пользователя. Ментальная модель системы.
- •46. Критерии качества графического интерфейса пользователя. Аффорданс, метафора.
- •47. Критерии качества графического интерфейса пользователя. Обучающие материалы.
- •48. Критерии качества графического интерфейса пользователя. Субъективное удовлетворение.
- •49. Критерии качества графического интерфейса пользователя. Эстетика и красота в интерфейсе.
- •50. Критерии качества графического интерфейса пользователя. Субъективность восприятия времени.
- •51. Критерии качества гип. Сообщения об ошибках.
- •52. Гип. Модели графического интерфейса пользователя.
- •53. Проектирование гип. Обзор основных этапов разработки.
- •54. Проектирование гип. Определение необходимой функциональности системы.
- •55. Проектирование гип. Создание пользовательских сценариев.
- •56. Проектирование гип. Проектирование общей структуры.
- •57. Проектирование гип. Конструирование отдельных блоков.
- •58. Проектирование гип. Создание глоссария.
- •59. Проектирование гип. Сборка и начальная проверка полной схемы системы.
- •60. Проектирование гип. Построение прототипа.
- •61. Проектирование гип. Тестирование и модификация прототипа.
8. Библиотека qt. Управление компоновкой. Менеджеры компоновки.
Менеджер компоновки — это объект, который устанавливает размер и положение виджетов, располагающихся в зоне его действия.
QT имеет три основных класса менеджеров компановки:
1. QHBoxLayout — размещает виджеты по горизонтали слева направо или справа налево в зависимости от культурных традиций;
2. QVBoxLayout — размещает виджеты по вертикали сверху вниз;
3. QGridLayout — размещает виджеты в ячейках сетки;
ПРИМЕР:
QWidget *window = new QWidget;
QPushButton *button1 = new QPushButton("One");
QPushButton *button2 = new QPushButton("Two");
QPushButton *button3 = new QPushButton("Three");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
window->setLayout(layout);
window->show();
Коэффициенты растяжения
Виджеты, обычно, создаются без заданного коэффициента растяжения. При помещении виджета в компоновщик ему выделяется часть общего пространства, в соответствии с максимальным значением из QWidget::sizePolicy() и предпочтения минимального размера.
9. Библиотека qt. Управление компоновкой. Стековая компоновка.
Класс QStackedLayout (менеджер стековой компоновки) управляет компоновкой набора дочерних виджетов или «страниц», показывая в каждый конкретный момент только одну из них и скрывая от пользователя остальные. Сам менеджер QStacked-Layout невидим и не содержит внутри себя средства для пользователя по изменению страницы.
Для удобства в Qt предусмотрен класс QStackedWidget, представляющий собой QWidget со встроенным QStackedLayout.
Если мы хотим сделать какой-нибудь конкретный виджет видимым, мы можем вызвать функцию setCurrentlndex(), задавая номер страницы. Номер страницы дочернего виджета можно получить с помощью функции indexOf().
10. Библиотека qt. Управление компоновкой. Разделители.
Разделитель (splitter) -- это виджет, который используется для размещения других виджетов и их разделения вертикальной или горизонтальной полосой. Пользователь может изменять размеры виджетов, перемещая разделитель.
Разделители в Qt реализованы в виде класса QSplitter. Подчиненные виджеты автоматически размещаются друг за дружкой, в порядке их создания, в смежных областях, разделителя.
#include <qapplication.h>
#include <qsplitter.h>
#include <qtextedit.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSplitter splitter(Qt::Horizontal);
splitter.setCaption(QObject::tr("Splitter"));
app.setMainWidget(&splitter);
QTextEdit *firstEditor = new QTextEdit(&splitter);
QTextEdit *secondEditor = new QTextEdit(&splitter);
QTextEdit *thirdEditor = new QTextEdit(&splitter);
splitter.show();
return app.exec();
}