Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QFrame
[модуль QtGui]

The QFrame class is the base class of widgets that can have a frame. More...

#include <QFrame>

Наследует QWidget.

Наследуется Q3Frame, Q3ProgressBar, QAbstractScrollArea, QLabel, QLCDNumber, QSplitter, QStackedWidget и QToolBox.

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

Свойства

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

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

Дополнительные Открытые Члены


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

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

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

    QLabel label(...);
    label.setFrameStyle(QFrame::Panel | QFrame::Raised);
    label.setLineWidth(2);

    QProgressBar pbar(...);
    label.setFrameStyle(QFrame::NoFrame);

>Класс QFrame может также использоваться для создания простых структур занимающих место, но не несущих информации.

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

Форма рамки может быть: NoFrame, Box, Panel, StyledPanel, HLine и VLine; стиль теней может быть: Plain, Raised и Sunken.

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

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

Следующая таблица демонстрирует некоторые комбинации стилей и ширины рамки:

Table of frame styles


Описание Типов Членов

enum QFrame::Shadow

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

КонстантаЗначениеОписание
QFrame::Plain0x0010рамка и содержимое отображаются на одном уровне с окружением; при рисовании используется палитра переднего плана (без каких-либо 3D-эффектов)
QFrame::Raised0x0020рамка и содержимое отображаются приподнятыми; при рисовании выводится приподнятая линия с использованием светлых и темных цветов текущей цветовой группы
QFrame::Sunken0x0030рамка и содержимое отображаются утопленными; при рисовании выводится утопленная линия с использованием светлых и темных цветов текущей цветовой группы

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

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

enum QFrame::Shape

Данное перечисление определяет форму рамки QFrame.

КонстантаЗначениеОписание
QFrame::NoFrame0QFrame ничего не рисует
QFrame::Box0x0001QFrame рисует прямоугольную рамку вокруг содержимого
QFrame::Panel0x0002QFrame рисует панель, которая делает содержимое приподнятым или утопленным
QFrame::StyledPanel0x0006рисует прямоугольную панель, которая зависит от текущего стиля GUI. Она может быть приподнятой или утопленной.
QFrame::HLine0x0004QFrame рисует горизонтальную ничего не содержащую линию (удобна в качестве разделителя)
QFrame::VLine0x0005QFrame рисует вертикальную ничего не содержащую линию (удобна в качестве разделителя)
QFrame::WinPanel0x0003рисуется прямоугольная панель, которая может быть приподнятой или утопленной подобно панелям в Windows 95. Определение данной формы устанавливает толщину линии в 2 пикселя. WinPanel предоставлена для совместимости. Для независимого от GUI стиля вместо рамки с данной формой мы рекомендуем использовать StyledPanel.

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

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


Описание Свойств

frameRect : QRect

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

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

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

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

frameShadow : Shadow

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

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

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

frameShape : Shape

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

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

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

frameWidth : const int

Данное свойство содержит толщину рисуемой рамки.

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

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

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

lineWidth : int

Данное свойство содержит толщину линии.

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

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

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

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

midLineWidth : int

Данное свойство содержит толщину средней линии.

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

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

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


Описание Функций-Членов

QFrame::QFrame ( QWidget * parent = 0, Qt::WFlags f = 0 )

Создает виджет-рамку со стилем рамки NoFrame и тощиной рамки в один пиксель.

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

QFrame::~QFrame ()

Разрушает рамку.

int QFrame::frameStyle () const

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

Значение по умолчанию - QFrame::NoFrame.

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

void QFrame::setFrameStyle ( int style )

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

style является побитовым ИЛИ между формой рамки и тенью рамки. См. таблицу в описании класса.

Форма рамки передается в QFrame::Shape, а тень рамки - в QFrame::Shadow.

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

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


Описание Переменных-Членов

const int QFrame::Shadow_Mask

Маска тени QFrame.

См. также QFrame::frameShadow.

const int QFrame::Shape_Mask

Форма маски QFrame.

См. также QFrame::frameShape.


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz