- •1. Библиотека qt. Обзор.
- •2. Библиотека qt. Компоненты библиотеки qt.
- •3. Библиотека qt. Простое приложение на qt.
- •4. Библиотека qt. Слоты и сигналы.
- •5. Библиотека qt. Компоновка виджетов.
- •6. Библиотека qt. Управление компоновкой. Абсолютное позиционирование.
- •7. Библиотека qt. Управление компоновкой. Собственный алгоритм.
- •10. Библиотека qt. Управление компоновкой. Разделители.
- •8. Библиотека qt. Управление компоновкой. Менеджеры компоновки.
- •9. Библиотека 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. Проектирование гип. Тестирование и модификация прототипа.
5. Библиотека qt. Компоновка виджетов.
Все подклассы QWidget могут использовать компоновки для управления своими дочерними элементами. ФункцияQWidget::setLayout() привязывает компоновку к виджету. Когда компоновка установлена на виджете этим способом, она принимает на себя управление следующими задачами:
-Позиционирование дочерних виджетов.
-По умолчанию устанавливаются разумные размеры окон.
-Разумные минимальные размеры окон.
-Обработка изменения размеров.
-Автоматическое обновление, когда содержимое изменилось:
-Размера шрифта, текста или другого содержимого дочерних виджетов.
-Сокрытие или отображение дочерних виджетов.
-Удаление дочерних виджетов.
Самый легкий способ задания правильного расположения виджетов состоит в использовании встроенных менеджеров компоновки: QHBoxLayout, QVBoxLayout, QGridLayout и QFormLayout.
ПРИМЕР:
QWidget *window = new QWidget;
QPushButton *button1 = new QPushButton("One");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
window->setLayout(layout);
window->show();
6. Библиотека qt. Управление компоновкой. Абсолютное позиционирование.
Абсолютное позиционирование является самым негибким способом компоновки виджетов. Он предусматривает жесткое кодирование в программе размеров и позиций дочерних виджетов формы и фиксированный размер самой формы. Ниже показано, какой вид принимает конструктор FindFileDialog при применении абсолютного позиционирования:
FindFileDialog::FindFileDialog(QWidget *parent): QDialog(parent)
{
namedLabel->setGeometry(9, 9, 50, 25);
namedLineEdit->setGeometry(65, 9, 200, 25);
lookInLabel->setGeometry(9, 40, 50, 25);
lookInLineEdit->setGeometry(65, 40, 200, 25);
subfoldersCheckBox->setGeometry(9, 71, 256, 23);
tableWidget->setGeometry(9, 100, 256, 100);
messageLabel->setGeometry(9, 206, 256, 25);
findButton->setGeometry(271, 9, 85, 32);
stopButton->setGeometry(271, 47, 85, 32);
closeButton->setGeometry(271, 84, 85, 32);
helpButton->setGeometry(271, 199, 85, 32);
setWindowTitle(tr("Find Files or Folders"));
setFixedSize(365, 240);
}
пользователь не может изменить размер окна;
некоторый текст может оказаться отсеченным;
расчет позиций и размеров производиться вручную
7. Библиотека qt. Управление компоновкой. Собственный алгоритм.
Альтернативой ручной компоновке является написание собственного менеджера компоновки создав подкласс QLayout.
При написании класса компоновки нужно определить:
- Структуру данных для хранения элементов обрабатывается компоновщиком. Каждый элемент является QLayoutItem.
- addItem() определяет, как добавляются записи в компоновщик.
- setGeometry() определяет расположение компоновщика.
- sizeHint() предпочитаемый размер компоновщика.
- itemAt() определяет, как перебираются элементы компоновщика.
- takeAt() определяет, как удаляются элементы из компоновщика.
В большинстве случаев, вы также должны реализовать minimumSize().
