Spec-Zone.ru › Qt 5.12

Класс QFrame

Класс QFrame — базовый класс виджетов, которые могут иметь рамку. Подробнее...

Заголовок: #include <QFrame>
qmake: QT += widgets
Наследует: QWidget
Наследует:

QAbstractScrollArea, QLabel, QLCDNumber, QSplitter, QStackedWidget и QToolBox

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые типы

Перечисление Shadow { Плоский, Выпуклый, Вогнутый }
Перечисление Shape { БезРамки, Короб, Панель, СтилезированнаяПанель, ..., WinPanel }
Перечисление StyleMask { МаскаТени, МаскаФормы }

Свойства

  • frameRect : QRect
  • frameShadow : Shadow
  • frameShape : Shape
  • frameWidth : const int
  • lineWidth : int
  • midLineWidth : int
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QFrame(QWidget *parent = nullptr, Qt::WindowFlags f = ...)
виртуальный ~QFrame()
QRect frameRect() const
QFrame::Shadow frameShadow() const
QFrame::Shape frameShape() const
int frameStyle() const
int frameWidth() const
int lineWidth() const
int midLineWidth() const
void setFrameRect(const QRect &)
void setFrameShadow(QFrame::Shadow)
void setFrameShape(QFrame::Shape)
void setFrameStyle(int style)
void setLineWidth(int)
void setMidLineWidth(int)

Переопределённые открытые функции

виртуальный QSize sizeHint() const override
  • 214 открытых функций унаследовано от QWidget
  • 31 открытых функций унаследовано от QObject
  • 14 открытых функций унаследовано от QPaintDevice

Статические открытые члены

const QMetaObject staticMetaObject
  • 5 статических открытых членов унаследовано от QWidget
  • 9 статических открытых членов унаследовано от QObject

Защищённые функции

void initStyleOption(QStyleOptionFrame *option) const

Переопределённые защищённые функции

виртуальный void changeEvent(QEvent *ev) override
виртуальный bool event(QEvent *e) override
виртуальный void paintEvent(QPaintEvent *) override
  • 35 защищённых функций унаследовано от QWidget
  • 9 защищённых функций унаследовано от QObject
  • 1 защищённая функция унаследовано от QPaintDevice

Дополнительные унаследованные члены

  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject
  • 3 сигналов унаследовано от QWidget
  • 2 сигналов унаследовано от QObject
  • 1 защищённый слот унаследовано от QWidget

Подробное описание

Класс QFrame — базовый класс виджетов, которые могут иметь рамку.

QMenu использует это, чтобы «поднять» меню над окружающим экраном. QProgressBar имеет «вогнутый» вид. QLabel имеет плоский вид. Рамки виджетов, таких как эти, могут быть изменены.

Класс QFrame также может быть использован непосредственно для создания простых заполнительных рамок без какого-либо содержимого.

Стиль рамки задаётся формой рамки и стилем тени, который используется для визуального разделения рамки от окружающих виджетов. Эти свойства могут быть установлены вместе с помощью функции setFrameStyle() и прочитаны с помощью frameStyle().

Формы рамок являются NoFrame, Box, Panel, StyledPanel, HLine и VLine; стили теней являются Plain, Raised и Sunken.

Виджет рамки имеет три атрибута, которые описывают толщину границы: lineWidth, midLineWidth и frameWidth.

  • Ширина линии — ширина границы рамки. Её можно изменить, чтобы настроить внешний вид рамки.
  • Ширина средней линии задаёт ширину дополнительной линии посередине рамки, которая использует третий цвет, чтобы получить особый 3D-эффект. Обратите внимание, что средняя линия отображается только для рамок Box, HLine и VLine, которые имеют выпуклый или вогнутый вид.
  • Ширина рамки определяется стилем рамки, а функция frameWidth() используется для получения значения, определённого для используемого стиля.

Отступ между рамкой и содержимым рамки может быть настроен с помощью функции QWidget::setContentsMargins().

В этой таблице показаны некоторые комбинации стилей и ширины линий:

Table of frame styles

Документация по типам членов

enum QFrame::Shadow

Это перечисление определяет типы теней, используемые для придания 3D-эффекта рамкам.

Константа Значение Описание
QFrame::Plain 0x0010 рамка и содержимое выровнены с окружением; отрисовка с использованием цвета палитры QPalette::WindowText (без эффекта 3D)
QFrame::Raised 0x0020 рамка и содержимое выглядят поднятыми; рисуется 3D-выступающая линия с использованием светлых и темных цветов текущей цветовой группы
QFrame::Sunken 0x0030 рамка и содержимое выглядят опущенными; рисуется 3D-вдавленная линия с использованием светлых и темных цветов текущей цветовой группы

Отступ взаимодействует с QFrame::Shape, lineWidth() и midLineWidth(). См. изображение рамок в документации основного класса.

См. также QFrame::Shape, lineWidth() и midLineWidth().

enum QFrame::Shape

Этот перечисление определяет формы рамок.

Константа Значение Описание
QFrame::NoFrame 0 QFrame ничего не рисует
QFrame::Box 0x0001 QFrame рисует рамку вокруг своего содержимого
QFrame::Panel 0x0002 QFrame рисует панель, чтобы содержимое выглядело поднятым или опущенным
QFrame::StyledPanel 0x0006 рисует прямоугольную панель с внешним видом, зависящим от текущего стиля графического интерфейса. Может быть поднятой или опущенной.
QFrame::HLine 0x0004 QFrame рисует горизонтальную линию, обрамляющую ничего (полезно в качестве разделителя)
QFrame::VLine 0x0005 QFrame рисует вертикальную линию, обрамляющую ничего (полезно в качестве разделителя)
QFrame::WinPanel 0x0003 рисует прямоугольную панель, которая может быть поднята или опущена, как в Windows 2000. Установка этой формы устанавливает ширину линии в 2 пикселя. WinPanel предоставлен для совместимости. Для независимости от стиля графического интерфейса рекомендуется использовать StyledPanel.

Когда он не вызывает QStyle, Shape взаимодействует с QFrame::Shadow, lineWidth() и midLineWidth(), чтобы создать общий результат. См. изображение рамок в документации основного класса.

См. также QFrame::Shadow, QFrame::style() и QStyle::drawPrimitive().

enum QFrame::StyleMask

Это перечисление определяет две константы, которые могут быть использованы для извлечения двух компонентов frameStyle():

Константа Значение Описание
QFrame::Shadow_Mask 0x00f0 Часть Shadow в frameStyle()
QFrame::Shape_Mask 0x000f Часть Shape в frameStyle()

Как правило, вам не нужно использовать их, так как frameShadow() и frameShape() уже извлекают части Shadow и Shape из frameStyle().

См. также frameStyle() и setFrameStyle().

Документация по свойствам

frameRect : QRect

Это свойство содержит прямоугольник рамки.

Прямоугольник рамки — это прямоугольник, в котором рисуется рамка. По умолчанию это весь виджет. Установка прямоугольника не приводит к обновлению виджета. Прямоугольник рамки автоматически корректируется при изменении размера виджета.

Если вы установите прямоугольник в нулевой прямоугольник (например, QRect(0, 0, 0, 0)), то полученный прямоугольник рамки будет эквивалентен прямоугольнику виджета.

Функции доступа:

QRect frameRect() const
void setFrameRect(const QRect &)

frameShadow : Shadow

Это свойство хранит значение отступа рамки из стиля рамки.

Функции доступа:

QFrame::Shadow frameShadow() const
void setFrameShadow(QFrame::Shadow)

См. также frameStyle() и frameShape().

frameShape : Shape

Это свойство содержит значение формы рамки из стиля рамки.

Функции доступа:

QFrame::Shape frameShape() const
void setFrameShape(QFrame::Shape)

См. также frameStyle() и frameShadow().

frameWidth : const int

Это свойство содержит ширину рамки, которая рисуется.

Обратите внимание, что ширина рамки зависит от стиля рамки, а не только от ширины линии и ширины средней линии. Например, стиль, заданный NoFrame, всегда имеет ширину рамки 0, а стиль Panel имеет ширину рамки, эквивалентную ширине линии.

Функции доступа:

int frameWidth() const

См. также lineWidth(), midLineWidth() и frameStyle().

lineWidth : int

Это свойство содержит ширину линии.

Обратите внимание, что общая ширина линии для рамок, используемых в качестве разделителей (HLine и VLine), задается свойством frameWidth.

Значение по умолчанию равно 1.

Функции доступа:

int lineWidth() const
void setLineWidth(int)

См. также midLineWidth и frameWidth.

midLineWidth : int

Это свойство содержит ширину средней линии.

Значение по умолчанию равно 0.

Функции доступа:

int midLineWidth() const
void setMidLineWidth(int)

См. также lineWidth и frameWidth.

Документация по функциям-членам

QFrame::QFrame(QWidget *parent = nullptr, Qt::WindowFlags f = ...)

Создаёт виджет рамки со стилем рамки NoFrame и шириной рамки 1 пиксель.

Аргументы parent и f передаются конструктору QWidget.

[virtual] QFrame::~QFrame()

Удаляет рамку.

[override virtual protected] void QFrame::changeEvent(QEvent *ev)

Переопределено из QWidget::changeEvent().

[override virtual protected] bool QFrame::event(QEvent *e)

Переопределено из QWidget::event().

int QFrame::frameStyle() const

Возвращает стиль рамки.

Значение по умолчанию — QFrame::Plain.

См. также setFrameStyle(), frameShape() и frameShadow().

[protected] void QFrame::initStyleOption(QStyleOptionFrame *option) const

Инициализирует option значениями из этого QFrame. Этот метод полезен для подклассов, когда им требуется QStyleOptionFrame, но они не хотят заполнять всю информацию самостоятельно.

Эта функция была введена в Qt 5.5.

См. также QStyleOption::initFrom().

[override virtual protected] void QFrame::paintEvent(QPaintEvent *)

Переопределено из QWidget::paintEvent().

void QFrame::setFrameStyle(int style)

Устанавливает стиль рамки в style.

style — это побитовое ИЛИ между стилем формы рамки и стилем тени рамки. См. изображение рамок в документации основного класса.

Формы рамок задаются в QFrame::Shape, а стили теней — в QFrame::Shadow.

Если ширина средней линии больше 0, для рамок типа Raised или Sunken Box, HLine и VLine рисуется дополнительная линия. Для рисования средних линий используется средний цвет текущей группы цветов.

См. также frameStyle().

[override virtual] QSize QFrame::sizeHint() const

Переопределено из QWidget::sizeHint().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qframe.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API