QT__QFrame__操作

来源:互联网 发布:喜马拉雅电台mac版 编辑:程序博客网 时间:2024/06/18 05:21


/*继承了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();}