QT__QFrame__操作


/*
继承了QWidget。

被QGroupBox、QScrollView、QDockWindow、QGrid、QHBox、QLabel、QLCDNumber、QLineEdit、QMenuBar、QPopupMenu、QProgressBar、QSplitter、QtTableView和QWidgetStack继承。
成员类型文档
QFrame::Shadow

这个枚举类型定义了QFrame的框架所使用的三维效果。当前定义的效果有:

QFrame::Plain - 框架和内容看来和周围一样高
QFrame::Raised - 框架和内容看起来凸起
QFrame::Sunken - 框架和内容看起来凹陷
QFrame::MShadow - 内部的,对于阴影的掩码
Shadow和QFrame::Shape、lineWidth()和midLineWidth()相互作用。类文档中的框架的图片描绘的比这些词语更好。

也可以参考QFrame::Shape、lineWidth和midLineWidth。

QFrame::Shape

这个枚举类型定义了QFrame的框架所使用的外形。当前定义的效果有:

NoFrame - QFrame不画任何东西
Box - QFrame在它的内容周围画一个框
Panel - QFrame画一个平板使内容看起来凸起或者凹陷
WinPanel - 像Panel,但QFrame绘制三维效果的方式和Microsoft Windows 95(及其它)的一样
ToolBarPanel - QFrame调用QStyle::drawToolBarPanel()
MenuBarPanel - QFrame调用QStyle::drawMenuBarPanel()
HLine - QFrame绘制一个水平线,但没有框任何东西(作为分隔是有用的)
VLine - QFrame绘制一个竖直线,但没有框任何东西(作为分隔是有用的)
StyledPanel - QFrame调用QStyle::drawPanel()
PopupPanel - QFrame调用QStyle::drawPopupPanel()
当它不调用QStyle时,Shape和QFrame::Shadow、lineWidth()和midLineWidth()相互作用来创建整个结果。类文档中的框架的图片描绘的比这些词语更好。
*/
#include <QApplication>
#include <QLabel>
#include <QFrame>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget *win = new QWidget;

    QLabel *label = new QLabel("Box");
    QLabel *label1 = new QLabel("Panel");
    QLabel *label2 = new QLabel("Winpanel");
    QLabel *label3 = new QLabel("H line");
    QLabel *label4 = new QLabel("V line");
    QLabel *label5 = new QLabel("Styled Panel");

    label->setFrameStyle(QFrame::Box | QFrame::Raised);
    label->setLineWidth(2);
    label1->setFrameStyle(QFrame::Panel | QFrame::Raised);
    label1->setLineWidth(2);
    label2->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
    label2->setLineWidth(2);
    label3->setFrameStyle(QFrame::HLine | QFrame::Raised);
    label3->setLineWidth(2);
    label4->setFrameStyle(QFrame::VLine | QFrame::Raised);
    label4->setLineWidth(2);
    label5->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
    label5->setLineWidth(2);

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(label);
    layout->addWidget(label1);
    layout->addWidget(label2);
    layout->addWidget(label3);
    layout->addWidget(label4);
    layout->addWidget(label5);
    win->setLayout(layout);
    win->show();
    return app.exec();
}


你可能感兴趣的:(框架,windows,Microsoft,layout,文档,qt)