Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемlms.licbb.spb.ru
1 Основы Qt Лекция 2 Виджеты
2 Виджеты Виджеты - это части, из которых создается пользовательский интерфейс. Виджеты способны обрабатывать поступающие сигналы и события, отсылать свои сигналы. Все базовые виджеты Qt унаследованы от класса QWidget.
3 Виджет X Y 0 x() y() width() height()
4 Виджеты
5 ЭЛЕМЕНТЫ ОТОБРАЖЕНИЯ Виджеты
6 QLabel QLabel – виджет, способный отображать текстовую и графическую информацию
7 QLCDNumber QLCDNumber – виджет, отображающий численные значения в виде семисегментного индикатора
8 Кнопки
9 Элементы ввода настроек Виджеты
10 QSlider QSlider - Ползунок
11 QSpinBox QSpinBox - Счетчик
12 QDoubleSpinBox QDoubleSpinBox – Элемент ввода double
13 QLineEdit QLineEdit - Текстовое поле
14 Лейауты Виджеты
15 Лейауты Лейауты - это элементы для размещения и упорядочивания виджетов и других лейаутов.
16 Лейауты QVBoxLayout Виджет 1 Виджет 2 Виджет 3 Виджет 4 QHBoxLayout
17 Лейауты QGridLayout - Табличное размещение виджетов QVBoxLayout - Вертикальное размещение виджетов QHBoxLayout - Горизонтальное размещение виджетов
18 Лейауты QGridLayout - Табличное размещение виджетов QVBoxLayout - Вертикальное размещение виджетов QHBoxLayout - Горизонтальное размещение виджетов
setText("text"); // Задание текста QLCDNumber *lcd = new QLCDNumber(); // Объяв" title="Лейауты #include "mainwindow.h" #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QLabel *lb = new QLabel(); // Объявление и вызов конструктора lb->setText("text"); // Задание текста QLCDNumber *lcd = new QLCDNumber(); // Объяв" class="link_thumb"> 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() { } // Деструктор setText("text"); // Задание текста QLCDNumber *lcd = new QLCDNumber(); // Объяв"> 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() { } // Деструктор"> setText("text"); // Задание текста QLCDNumber *lcd = new QLCDNumber(); // Объяв" title="Лейауты #include "mainwindow.h" #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QLabel *lb = new QLabel(); // Объявление и вызов конструктора lb->setText("text"); // Задание текста QLCDNumber *lcd = new QLCDNumber(); // Объяв">
20 Задание 2: Добавление виджетов вручную Цель лабораторной работы: Освоить добавление виджетов в проект. Написать программу, состоящую из нескольких виджетов. Порядок выполнения лабораторной работы: 1. Создать новый проект без формы. 2. Создать любой виджет на свое усмотрение (QLabel, QPushButton, QLCDNumber, QSlider и т.п.). 3. Сделать его главным виджетом приложения с помощью метода setCentralWidget(). 4. Скомпилировать и запустить программу.
21 Задание 3: Компоновка виджетов с помощью лейаутов Цель лабораторной работы: Разобраться с размещением виджетов на лейаутах. Написать программу со скомпонованными с помощью лейаутов виджетами. Порядок выполнения лабораторной работы: 1. Создать новый проект. 2. Создать несколько виджетов и лейаутов 3. Скомпоновать виджеты в соответствии со схемой 4. Скомпилировать и запустить программу. layout2 layout1 Виджет3 Виджет1 Виджет2
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.