- /*
- 继承了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();
- }
Qt---QFrame
最新推荐文章于 2024-04-25 10:50:53 发布