QFrame类.doc_第1页
QFrame类.doc_第2页
QFrame类.doc_第3页
QFrame类.doc_第4页
QFrame类.doc_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QFrame类参考QFrame类是有框架的窗口部件的基类。详情请见#include 继承了QWidget。被QGroupBox、QScrollView、QDockWindow、QGrid、QHBox、QLabel、QLCDNumber、QLineEdit、QMenuBar、QPopupMenu、QProgressBar、QSplitter、QtTableView和QWidgetStack继承。所有成员函数的列表。公有成员 QFrame( QWidget*parent = 0, constchar*name = 0, WFlagsf = 0 ) intframeStyle() const virtual voidsetFrameStyle( intstyle ) intframeWidth() const QRectcontentsRect() const enumShape NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003, HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006, PopupPanel = 0x0007, MenuBarPanel = 0x0008, ToolBarPanel = 0x0009, LineEditPanel = 0x000a, TabWidgetPanel = 0x000b, MShape = 0x000f enumShadow Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030, MShadow = 0x00f0 ShapeframeShape() const voidsetFrameShape( Shape ) ShadowframeShadow() const voidsetFrameShadow( Shadow ) intlineWidth() const virtual voidsetLineWidth( int ) intmargin() const virtual voidsetMargin( int ) intmidLineWidth() const virtual voidsetMidLineWidth( int ) QRectframeRect() const virtual voidsetFrameRect( const QRect & )属性 QRectcontentsRect- 框架内的矩形(只读) QRectframeRect- 框架矩形 ShadowframeShadow- 来自框架风格的框架阴影值 ShapeframeShape- 来自框架风格的框架外形值 intframeWidth- 被绘制的框架的宽度(只读) intlineWidth- 线宽 intmargin- 边白的宽度 intmidLineWidth- 中间的线的宽度保护成员 virtual voidpaintEvent( QPaintEvent*event ) virtual voidresizeEvent( QResizeEvent*e ) virtual voiddrawFrame( QPainter*p ) virtual voiddrawContents( QPainter * ) virtual voidframeChanged()详细描述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这些凸起和凹陷的框架中才被绘制。边白就是框架和框架内容之间的间隙。这个表显示的是风格和宽度的绝大多数有用的组合(和一些没有用处的):也可以参考抽象窗口部件类。成员类型文档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()相互作用来创建整个结果。类文档中的框架的图片描绘的比这些词语更好。也可以参考QFrame:Shadow、QFrame:style()和QStyle:drawPrimitive()。成员函数文档QFrame:QFrame (QWidget*parent = 0, constchar*name = 0, WFlagsf = 0 )构造一个框架风格为NoFrame并且1像素框架宽度的框架窗口部件。parent、name和f参数被传递给QWidget的构造函数。QRectQFrame:contentsRect () const返回框架内的矩形。详细情况请参考“contentsRect”属性。voidQFrame:drawContents (QPainter* )虚 保护绘制框架内容的虚函数。当你得到QPainter时,它已经被打开,并且在你离开时,它也必须是打开的。绘制工具的转换在真个过程中是被关闭的。如果你转换绘制工具,记得考虑框架并且在返回前重置转换。这个函数在子类中被重新实现用来绘制框架中的一些东西。它只能在contentsRect()内绘制。默认函数什么都不做。也可以参考contentsRect和QPainter:setClipRect()。在QLabel、a href=qlcdnumber.html#drawContentsQLCDNumber、QMenuBar和QPopupMenu中重新实现。voidQFrame:drawFrame (QPainter*p )虚 保护使用绘制工具p和当前框架属性和颜色组绘制框架。框架内的矩形不受影响。这个函数是虚函数,但通常情况下你不需要重新实现它。如果你要做,注意QPainter已经被打开并且必须保持打开的状态。也可以参考frameRect、contentsRect、drawContents()、a href=#frameStyleframeStyle()和palette。voidQFrame:frameChanged ()虚 保护当框架风格、线宽和中间线宽发生改变时,这个虚函数被调用。这个函数在子类中可以被重新实现,它需要知道什么时候框架属性发生变化。默认实现是调用update()。QRectQFrame:frameRect () const返回框架矩形。详细情况请参考“frameRect”属性。ShadowQFrame:frameShadow () const返回来自框架风格的框架阴影值。详细情况请参考“frameShadow”属性。ShapeQFrame:frameShape () const返回来自框架风格的框架外形值。详细情况请参考“frameShape”属性。intQFrame:frameStyle () const返回框架风格。默认值是QFrame:NoFrame。也可以参考setFrameStyle()、frameShape和frameShadow。实例:scrollview/scrollview.cpp。intQFrame:frameWidth () const返回所绘制的框架的宽度。详细情况请参考“frameWidth”属性。intQFrame:lineWidth () const返回线宽。详细情况请参考“lineWidth”属性。intQFrame:margin () const返回边白的宽度。详细情况请参考“margin”属性。intQFrame:midLineWidth () const返回中间线的宽度。详细情况请参考“midLineWidth”属性。voidQFrame:paintEvent (QPaintEvent*event )虚 保护处理绘制事件event。绘制框架和内容。打开框架上的绘制工具并且调用drawFrame(),然后是drawContents()。实例:life/life.cpp和qfd/fontdisplayer.cpp。从QWidget中重新实现的。在a href=qttableview.html#paintEventQtTableView中被重新实现。voidQFrame:resizeEvent (QResizeEvent*e )虚 保护处理重定义大小事件e。对于被重新定义大小的窗口部件,调整框架矩形。框架矩形是弹性的,并且周围的区域是固定的。结果框架矩形也许是零或者无效。你可以使用setMinimumSize()来避免这种可能。如果框架矩形已经是一个零矩形,那么将不会做任何事。实例:life/life.cpp。从QWidget中重新实现的。voidQFrame:setFrameRect ( constQRect& )虚设置框架矩形。详细情况请参考“frameRect”属性。voidQFrame:setFrameShadow (Shadow)设置来自框架风格的框架阴影值。详细情况请参考“frameShadow”属性。voidQFrame:setFrameShape (Shape)设置来自框架风格的框架外形值。详细情况请参考“frameShape”属性。voidQFrame:setFrameStyle ( intstyle )虚设置框架风格为style。style是框架外形和框架阴影风格的位或操作。详细情况请参考类文档中的框架的图片。框架外形有: NoFrame不绘制任何东西。自然地,如果你使用这个,你就不用指定阴影风格。 Box绘制矩形框。内容看起来和周围的屏幕一样高,但是边界本身也许凸起或凹陷。 Panel绘制矩形凸起或凹陷的平板。 StyledPanel绘制一个依赖于当前GUI风格的矩形平板。它可能是凸起的,也可能是凹陷的。 PopupPanel是用来绘制用于弹出窗口的框架。它的外观也依赖于当前GUI风格,通常和StyledPanel一样。 ToolBarPanel是用来绘制用于工具条的框架。它的外观也依赖于当前GUI风格。 MenuBarPanel是用来绘制用于菜单条的框架。它的外观也依赖于当前GUI风格。 LineEditPanel是用来绘制用于行编辑的框架。它的外观也依赖于当前GUI风格。 TabWidgetPanel是用来绘制用于Tab窗口部件的框架。它的外观也依赖于当前GUI风格。 WinPanel绘制一个和Windows 95中一样的凸起或凹陷的矩形平板。指定这个外形设置线宽为2像素。WinPanel的提供是为了兼容性。为了使GUI风格独立,我们建议使用StyledPanel替换它。 HLine绘制一条水平线(垂直中央)。 VLine绘制一条垂直线(水平中央)。阴影风格有: Plain使用调色板的前景颜色绘制(没有任何三维效果)。 Raised使用当前颜色组的亮和暗颜色绘制三维的凸起线。 Sunken使用当前颜色组的亮和暗颜色绘制三维的凹陷线。如果被指定的中间线宽大于0,在Raised或Sunken、BoxHLine和VLine框架中会被绘制一条另外的线。当前颜色组的中间颜色被用于绘制中间线。也可以参考Illustration、frameStyle()、colorGroup和QColorGroup。实例:cursor/cursor.cpp、layout/layout.cpp、listboxcombo/listboxcombo.cpp、rangecontrols/rangecontrols.cpp、scrollview/scrollview.cpp、tabdialog/tabdialog.cpp和tictac/tictac.cpp。voidQFrame:setLineWidth ( int )虚设置线宽。详细情况请参考“lineWidth”属性。voidQFrame:setMargin ( int )虚设置边白的宽度。详细情况请参考“margin”属性。voidQFrame:setMidLineWidth ( int )虚设置中间线的宽度。详细情况请参考“midLineWidth”属性。属性文档QRectcontentsRect这个属性保存的是框架内的矩形。使用contentsRect()来得到这个属性值。也可以参考frameRect和drawContents()。QRectframeRect这个属性保存的是框架矩形。框架矩形是被画的框架所在的矩形。默认情况下,这是整个窗口部件。设置这个属性不会导致窗口部件更新。如果这个属性被设置为零矩形(比如QRect(0, 0, 0, 0)),那么框架矩形将会等于窗口部件矩形。也可以参考contentsRect。使用setFrameRect()来设置这个属性值并且使用frameRect()来得到这个属性值。ShadowframeShadow这个属性保存的是来自框架风格的框架阴影值。使用setFrameShadow()来设置这个属性值并且使用frameShadow()来得到这个属性值。也可以参考frameStyle()和frameShape。ShapeframeShape这个属性用来操存的是来自框架

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论