Слайд 2Виджеты
Виджеты - это части, из которых создается пользовательский интерфейс.
Виджеты способны обрабатывать поступающие
сигналы и события, отсылать свои сигналы.
Все базовые виджеты Qt унаследованы от класса QWidget.
Слайд 6QLabel
QLabel – виджет, способный отображать текстовую и графическую информацию
Слайд 7QLCDNumber
QLCDNumber – виджет, отображающий численные значения в виде семисегментного индикатора
Слайд 9Элементы ввода настроек
Виджеты
Слайд 12QDoubleSpinBox
QDoubleSpinBox – Элемент ввода double
Слайд 13QLineEdit
QLineEdit - Текстовое поле
Слайд 15Лейауты
Лейауты - это элементы для размещения и упорядочивания виджетов и других лейаутов.
Слайд 17Лейауты
QGridLayout - Табличное размещение виджетов
QVBoxLayout - Вертикальное размещение виджетов
QHBoxLayout - Горизонтальное размещение
виджетов
Слайд 18Лейауты
QGridLayout - Табличное размещение виджетов
QVBoxLayout - Вертикальное размещение виджетов
QHBoxLayout - Горизонтальное размещение
виджетов
Слайд 19Лейауты
#include "mainwindow.h"
#include
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
QLabel *lb = new QLabel();
// Объявление и вызов конструктора
lb->setText("text"); // Задание текста
QLCDNumber *lcd = new QLCDNumber(); // Объявление и вызов конструктора
lcd->display(20); // Установка значения
QHBoxLayout *layout1 = new QHBoxLayout(); // Объявление и вызов конструктора
layout1->addWidget(lb); // Добавление виджета на слой
layout1->addWidget(lcd); // Добавление виджета на слой
QLineEdit *line = new QLineEdit(); // Объявление и вызов конструктора
line->setText("Type text"); // Задание текста
QVBoxLayout *layout2 = new QVBoxLayout(); // Объявление и вызов конструктора
layout2->addWidget(line); // Добавление виджета
layout2->addLayout(layout1); // Добавление лейаута на лейаут
QWidget*central=new QWidget(this); // Объявление и вызов конструктора виджета "central" - он будет основным виджетом приложения
central->setLayout(layout2); // Установка лейаута на виджет
setCentralWidget(central); // Установка виджета "central" в качестве основного виджета приложения
}
MainWindow::~MainWindow() { } // Деструктор
Слайд 20Задание №2: Добавление виджетов вручную
Цель лабораторной работы:
Освоить добавление виджетов в проект.
Написать программу,
состоящую из нескольких виджетов.
Порядок выполнения лабораторной работы:
Создать новый проект без формы.
Создать любой виджет на свое усмотрение (QLabel, QPushButton, QLCDNumber, QSlider и т.п.).
Сделать его главным виджетом приложения с помощью метода setCentralWidget().
Скомпилировать и запустить программу.