PLLUG C++/Qt Roadmap Book
  • Вступ
  • Найважливіший розділ у цій книжці
    • Кілька критично важливих порад
    • Встановлення середовища та початок роботи
    • Підготовка до роботи. Командний рядок.
      • Встановлення та налаштування суперконсолі (тільки на Windows)
      • Cheatsheet: Робота з командним рядком
    • Компіляція та запуск першої програми
      • Найменьша програма мовою С++
      • Компіляція програми: як це працює
      • Починаємо програмувати
    • Базова робота з Git та створення власного репозиторію
      • Підготовка до роботи
      • Створюємо репозиторій та заливаємо на GitHub
      • Cheatsheet: Простий алгоритм для роботи з системою контролю версій (одна гілка, один розробник)
      • Працюємо з Git правильно
  • Мова С++ - швидкий вступ та обрані теми
    • Змінні. Деякі з основних типів та їх застосування.
      • Типи int та double
      • Тип bool
      • Тип char
      • Тип std::string
      • Тип std::vector
      • Тип std::array
    • Ключове слово const
  • Середовище розробки QtCreator
    • Налаштування та підготовка до роботи
      • Налаштування інструментаріїв
    • Довідка та ресурси
    • Гарячі клавіші
    • Робота з проектами у QtCreator
      • Файли проекту
      • Основні змінні, які беруть участь у описі проекту
      • Компіляція проекту Qt
      • Очистка проекту
  • Абстрактні типи даних та керування памяттю
    • Абстрактні типи даних
      • Об'єкти та класи. Абстракція.
      • Поля та методи класу
      • Успадкування
      • Віртуальні методи та поліморфізм
    • Вказівники та пам'ять
      • Адреса
      • Вказівники
      • Вказівники: примітивна демонстрація програми у пам'яті
      • Час зберігання об'єкту
  • Знайомство з Qt5
    • Огляд Qt5
      • Ласкаво просимо у світ Qt
      • Огляд можливостей Qt 5
      • Ліцензування Qt
      • Короткий огляд історії Qt
      • “Екосистема” Qt
    • Створення графічного інтерфейсу засобами Qt
      • Віджети (Widgets)
      • Компонування (Layouts)
      • Сигнально-слотові з'єднання
      • Створення сигналів (signals) та слотів (slots)
      • Підсумок: сигнально-слотові з'єднання
      • Коротко про елементи графічного інтерфейсу та їх використання
  • Cheatsheets
  • Demos
  • Missions
    • Mission 1: Досліджуємо Git та командний рядок
    • Mission 2: Консольна гра
    • Mission 3: MazeGame
    • Mission 4: Створюємо абстрактний тип даних
Powered by GitBook
On this page
  • Клас QWidget
  • Кнопки (Buttons) та прапорці (Check Boxes)
  • Віджети-контейнери (Containers)
  • Віджети-вигляди (Views)
  • Елементи виводу інформації (Display widgets)
  • Елементи вводу (Input widgets)
  1. Знайомство з Qt5
  2. Створення графічного інтерфейсу засобами Qt

Коротко про елементи графічного інтерфейсу та їх використання

Клас QWidget

Усі віджети у Qt успадковують від класу QWidget. Клас QWidget надає базову функціональність спільну для всіх віджетів. Серед властивостей, які успадковують від QWidget, – властивість enabled, яка дає змогу дозволити чи заборонити взаємодію користувача з елементом управління (методи void setEnabled(bool) та bool isEnabled()). Коли властивість встановлено логічне значення false — візуальний елемент деактивовано і користувач більше не може з ним взаємодіяти. Зазвичай такі деактивовані елементи змінюють зовнішній вигляд, щоб користувач зміг їх відрізнити від активних. Властивість visible (методи void setVisible(bool) та bool isVisible()) визначає, видимий віджет (значення true) чи ні (значення false). Ці властивості впливають не тільки на сам візуальний елемент, але й на дочірні елементи.

Крім цих загальних властивостей, кожен віджет володіє власними унікальними особливостями, які дають змогу створювати зручні та практичні у використання користувацькі інтерфейси.

Кнопки (Buttons) та прапорці (Check Boxes)

Так, наприклад, Кнопки (Buttons), є дуже часто уживаний елемент управління. В загальному поведінку для кнопок визначає абстрактний клас QAbstractButton. Ці елементи можуть перебувати у ввімкнутому чи вимкненому станах. Стан можна визначати за допомогою властивості checked (метод isChecked()). Перемиканням можна керувати з допомогою властивості checkable (bool isCheckable(), setChеcked(bool)). Від класу QAbstractButton успадковують класи QCheckBox, QPushButton, QRadioButton, QToolButton.

QPushButton найчастіше використовують з'єднуючи його сигнал clicked(), який викликається при натисканні кнопки, з іншими слотами. QToolButton є кнопкою для швидкого доступу до дій чи налаштувань, яку зазвичай використовують усередині панелі інструментів.

QCheckBox – елемент прапорець. Може перебувати у ввімкнутому чи вимкнутому стані. Також може мати третій проміжний стан, підтримку якого можна активувати з допомогою методу setTristate().

QRadioButton – кнопка-перемикач. Так як і прапорець може перебувати у ввімкнутому чи вимкнутому стані. Її використовують у групі з іншими перемикачами (див. клас QButtonGroup) для позначення кількох взаємовиключаючих варіантів вибору, де лише один перемикач є ввімкнений, а усі інші вимкнені.

Віджети-контейнери (Containers)

До елементів-контейнерів (Containers) відносять QFrame, QGroupBox, QTabWidget, QToolBox. QFrame – найбільш загальний елемент. Це базовий клас для віджетів, які мають обрамлення. Від нього успадковують такі класи візуальних елементів, як, QLabel, QLCDNumber, QSplitter, QToolBox, QStackedWidget, QAbstractScrollArea. Може використовуватись самостійно для відображення різноманітних рамок.

QGroupBox Використовують для виділення групи віджетів обрамленням та текстовим надписом. Є можливість задати клавіатурну комбінацію, щоб перевести фокус вводу на віджети у групі. Не створює компонування для групи віджетів автоматично.

QTabWidget - віджет для відображення віджетів всередині окремих сторінок. Надає панель вкладок та відображає віджет для поточної сторінки всередині себе. Для роботи необхідно створити новий віджет та додати його як сторінку, а також задати ім'я для сторінки.

QToolBox використовують для створення вертикальної колонки віджетів з вкладками. Кожен віджет має окрему вкладку. Поточний видимий віджет відповідає поточній відкритій вкладці.

Віджети-вигляди (Views)

Також слів виділити елементи-вигляди (Views), до яких відносять QListView, QListWidget, QTableView, QTableWidget, QTreeView, QTreeWidget. Вони доають змогу виводити інформацію у вигляді списків, таблиць та дерев. QListView, QTableView, QTreeView використовують модель, як джерело даних (див. абстракний клас QAbstractItemModel). QListWidget, QTableWidget та QTreeWidget використовують як самостійний віджет з даними, дані додаються поелементно (див. QListWidgetItem, QTableWidgetItem, QTreeWidgetItem).

Елементи виводу інформації (Display widgets)

До елементів виводу інформації (Display widgets) відносять QLabel. QLCDNumber та QProgressBar. QProgressBar дає змогу вивести поточний прогрес у вигляді заповненої лінії. QLCDNumber виводить цілі та числа з плаваючою комою у стилі семисегментного дисплею. QLabel використовують для виводу різноманітної текстової інформації. Цей віджет також підтримує розмітку HTML4, яку можна використовувати для оформлення тексту.

Елементи вводу (Input widgets)

Найбільш чисельна група — елементи вводу (Input widgets). До них відносять QComboBox, QDateEdit, QDial, QDoubleSpinBox, QFontComboBox, QLineEdit, QScrollBar, QSlider, QSpinBox, QTextEdit, QTimeEdit.

QComboBox – випадючий список, який використовують для вибору елементу зі списку альтернатив.

QDateTimeEdit – поле вводу дати та часу. Дає змогу вводити та показувати час у заданому форматі.Від цього елемента успідковують також QTimeEdit та QDateEdit.

QDial – дає змогу змінювати числове значення, за тим же принципом, що і регулятори на панелі приладів. Успадковує від абстрактного класу QAbstractSlider.

QLineEdit – поле вводу. Дає змогу не тіільки вводити текст, але й перевіряти допустимість вводу (див. клас QValidator). Має режим для вводу пароля. Також можливо задати маску для вводу значення.

QScrollBar – елемент керування скролінгом. Успадковує від абстрактного класу QAbstractSlider. Кожному положенню вказівника відповідає значення, у заданих межах. Часто використовують для прокручування вмісту інших віджетів.

QSlider - Елемент, який використовує перетягування, мишкою для вводу значення. Кожному положенню вказівника відповідає значення, у заданих межах. Успадковує від абстрактного класу QAbstractSlider.

PreviousПідсумок: сигнально-слотові з'єднанняNextCheatsheets

Last updated 7 years ago