Панель с рамкой

Класс QFrame расширяет возможности класса QWidget за счет добавления рамки различного стиля вокруг компонента. Этот класс наследуют в свою очередь некоторые компоненты, например, надписи, многострочные текстовые поля и др. Иерархия наследования выглядит так:

(QObject, QPaintDevice) — QWidget — QFrame

Конструктор класса QFrame имеет следующий прототип:

#include <QFrame>
QFrame(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())

В параметре parent передается указатель на родительский компонент. Если параметр не указан или имеет значение nullptr, то компонент будет обладать своим собственным окном. Если в параметре f указан тип окна, то компонент, имея родителя, будет обладать своим собственным окном, но будет привязан к родителю. Это позволяет, например, создать модальное окно, которое будет блокировать только окно родителя, а не все окна приложения. Какие именно значения можно указать в параметре f мы уже рассматривали в разд. 3.2.

Класс QFrame содержит следующие методы (перечислены только основные методы; полный список смотрите в документации):

  • setFrameShape() — задает форму рамки. Прототип метода:
void setFrameShape(QFrame::Shape)

Могут быть указаны следующие константы:

  • QFrame::NoFrame — нет рамки;
  • QFrame::Box — прямоугольная рамка;
  • QFrame::Panel — панель, которая может быть выпуклой или вогнутой;
  • QFrame::WinPanel — панель со стилем, принятым в Windows. Ширина границы 2 пиксела. Панель может быть выпуклой или вогнутой;
  • QFrame::HLine — горизонтальная линия. Используется как разделитель;
  • QFrame::VLine — вертикальная линия без содержимого;
  • QFrame::StyledPanel — панель, внешний вид которой зависит от текущего стиля. Панель может быть выпуклой или вогнутой;

Получение значения:

QFrame::Shape frameShape() const
  • setFrameShadow() — задает стиль тени. Прототип метода:
void setFrameShadow(QFrame::Shadow)

Могут быть указаны следующие константы:

  • QFrame::Plain — нет эффектов;
  • QFrame::Raised — панель отображается выпуклой;
  • QFrame::Sunken — панель отображается вогнутой;

Получение значения:

QFrame::Shadow frameShadow() const
  • setFrameStyle() — задает форму рамки и стиль тени одновременно.
void setFrameStyle(int style)

В качестве значения указывается комбинация констант через оператор |. Пример:

frame2->setFrameStyle(QFrame::Panel | QFrame::Raised);

Получение значения:

int frameStyle() const
  • setLineWidth() — задает ширину линии рамки. Прототип метода:
void setLineWidth(int)

Получение значения:

int lineWidth() const
  • setMidLineWidth() — задает ширину средней линии рамки. Средняя линия используется для создания эффекта выпуклости и вогнутости и доступна только для форм рамки Box, HLine и VLine. Прототип метода:
void setMidLineWidth(int)

Получение значения:

int midLineWidth() const

Учебник C++ (Qt Creator и MinGW)
Учебник C++ (Qt Creator и MinGW) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов