Шаг 23.
Библиотека Qt.
Рамки

    На этом шаге рассмотрим класс QFrame.

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

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

    Существуют три флага теней: QFrame::Raised, QFrame::Plain и QFrame::Sunken. С их помощью достигается эффект вогнутости или выпуклости рамки.

    Для задания внешнего вида рамки можно воспользоваться одной из пяти основных форм: QFrame::Box, QFrame::Panel, QFrame::WinPanel, QFrame::HLine, QFrame::VLine. Если нужно, чтобы рамка вообще не отображалась, то тогда в метод setFrameStyle() передается значение QFrame::NoFrame.

    Варианты рамок приведены на рис. 1.


Рис.1. Варианты рамок

    Файлы приложения можно взять здесь.

    Методом setContentsMargin() класса QWidget устанавливается расстояние от рамки до содержимого виджета, а методами setLineWidth() и setMidLineWidth() можно изменять толщину самой рамки.

QFrame pfrm = new QFrame;
pfrm->setFrameStyle(QFrame::Box | QFrame::Sunken);
pfrm->setLineWidth(3);   

    В этом примере создается виджет рамки, в котором методом setFrameStyle() устанавливается нужный стиль рамки, а методом setLineWidth() — ее толщина.

    Результат представлен рис. 2.


Рис.2. Пример рамки

    Файлы приложения можно взять здесь.

    На следующем шаге рассмотрим виджет видовой прокрутки.




Предыдущий шаг Содержание Следующий шаг