QFrame类是有框架的窗口部件的基类。
它绘制框架并且调用一个虚函数drawContents()来填充这个框架。这个函数是被子类重新实现的。这里至少还有两个有用的函数:drawFrame()和frameChanged()。
QPopupMenu使用这个来把菜单“升高”,高于周围屏幕。QProgressBar有“凹陷”的外观。QLabel有平坦的外观。这些有框架的窗口部件可以被改变。
QLabel label(...); label.setFrameStyle( QFrame::Panel | QFrame::Raised ); label.setLineWidth( 2 );QProgressBar pbar(...); label.setFrameStyle( QFrame::NoFrame );
QFrame类也能够直接被用来创建没有任何内容的简单框架,尽管通常情况下,你要用到QHBox或QVBox,因为它们可以自动的布置你放到框架中的窗口部件。
框架窗口部件有四个属性:frameStyle()、lineWidth()、midLineWidth()和margin()。
框架风格由框架外形和阴影风格决定。框架外形有NoFrame、Box、Panel、StyledPanel、PopupPanel、WinPanel、ToolBarPanel、MenuBarPanel、HLine和VLine,阴影风格有Plain、Raised和Sunken。
线宽就是框架边界的宽度。
中间线宽指定的是在框架中间的另外一条线的宽度,它使用第三种颜色来得到一个三维的效果。注意中间线只有在Box、HLine和VLine这些凸起和凹陷的框架中才被绘制。
边白就是框架和框架内容之间的间隙。