QFrame Class Reference

[QtGui module]

该QFrame类是基类的小部件,可以有一个框架。More…

继承QWidget

通过继承QAbstractScrollAreaQLabelQLCDNumberQSplitterQStackedWidgetQToolBox

Types

  • enum Shadow { Plain, Raised, Sunken }
  • enum Shape { NoFrame, Box, Panel, WinPanel, ..., StyledPanel }
  • enum StyleMask { Shadow_Mask, Shape_Mask }

Methods

  • __init__ (self, QWidget parent = None, Qt.WindowFlags flags = 0)
  • changeEvent (self, QEvent)
  • drawFrame (self, QPainter)
  • bool event (self, QEvent e)
  • QRect frameRect (self)
  • Shadow frameShadow (self)
  • Shape frameShape (self)
  • int frameStyle (self)
  • int frameWidth (self)
  • int lineWidth (self)
  • int midLineWidth (self)
  • paintEvent (self, QPaintEvent)
  • setFrameRect (self, QRect)
  • setFrameShadow (self, Shadow)
  • setFrameShape (self, Shape)
  • setFrameStyle (self, int)
  • setLineWidth (self, int)
  • setMidLineWidth (self, int)
  • QSize sizeHint (self)

Detailed Description

该QFrame类是基类的小部件,可以有一个框架。

QMenu使用它来“养”周围的屏幕上方的菜单。QProgressBar有一个“沉没”的样子。QLabel具有平坦的外观。像这样的小部件的帧可以被改变。

  1. [QLabel]($docs-qlabel.html) label(...);
  2. label.setFrameStyle(QFrame.Panel | QFrame.Raised);
  3. label.setLineWidth(2);
  4. [QProgressBar]($docs-qprogressbar.html) pbar(...);
  5. label.setFrameStyle(QFrame.NoFrame);

该QFrame类也可以直接使用,无需任何内容创建简单的佔位符框架。

边框样式是由一个指定的frame shapeshadow style是,用于在视觉上的帧从周围的部件中分离出来。这些属性可以设置一起使用setFrameStyle()函数和读取frameStyle( ) 。

该框架形状NoFrameBoxPanelStyledPanelHLineVLine;阴影样式PlainRaisedSunken

一帧小部件都有描述边框的厚度三个属性:lineWidthmidLineWidthframeWidth

  • The line width is the width of the frame border. It can be modified to customize the frame’s appearance.
  • The mid-line width specifies the width of an extra line in the middle of the frame, which uses a third color to obtain a special 3D effect. Notice that a mid-line is only drawn for Box, HLine and VLine frames that are raised or sunken.
  • The frame width is determined by the frame style, and the frameWidth() function is used to obtain the value defined for the style used.

该帧的帧和内容之间的边缘可以与被定制QWidget.setContentsMargins()函数。

该表显示了一些款式和线宽的组合:

Table of frame styles


Type Documentation

  1. QFrame.Shadow

该枚举类型定义了用于给一个3D效果的帧阴影的类型。

Constant Value Description
QFrame.Plain 0x0010 框架和内容,出现与周围环境水平;绘制使用的调色板QPalette.WindowText颜色(无任何3D效果)
QFrame.Raised 0x0020 框架和内容出现上调;使用当前颜色组的光与暗的颜色绘制3D凸起线
QFrame.Sunken 0x0030 框架和内容出现凹陷,使用当前颜色组的光与暗的颜色绘制一个三维线沉没

阴影交互QFrame.Shape时,lineWidth( )和midLineWidth( ) 。看到在主类文件的帧的图片。

See also QFrame.ShapelineWidth()和midLineWidth( ) 。

  1. QFrame.Shape

这个枚举类型定义框架提供的形状。

Constant Value Description
QFrame.NoFrame 0 QFrame借鉴什么
QFrame.Box 0x0001 QFrame周围绘制其内容的盒子
QFrame.Panel 0x0002 QFrame绘制一个面板,使内容出现凸起或凹陷
QFrame.StyledPanel 0x0006 绘制一个矩形面板,一看就是取决于当前图形用户界面风格。它可以凸起或凹陷。
QFrame.HLine 0x0004 QFrame绘制一条水平线,没有帧(作为分隔符有用)
QFrame.VLine 0x0005 QFrame绘制了框架没有一条垂直线(如分离器很有用)
QFrame.WinPanel 0x0003 绘制一个矩形面板可以凸起或凹陷的像那些在Windows 2000。指定此形状设置线宽为2像素。 WinPanel提供了一种用于兼容性。对于GUI风格的独立性,我们建议使用StyledPanel代替。

当它不叫QStyle,外形与互动QFrame.Shadow时,lineWidth( )和midLineWidth( )创建的总成绩。看到在主类文件的帧的图片。

See also QFrame.ShadowQFrame.style()和QStyle.drawPrimitive( ) 。

  1. QFrame.StyleMask

该枚举定义了可以用来提取的两个组成部分的两个常数frameStyle():

Constant Value Description
QFrame.Shadow_Mask 0x00f0 Shadow的一部分frameStyle( )
QFrame.Shape_Mask 0x000f Shape的一部分frameStyle( )

通常情况下,你并不需要使用这些,因为frameShadow()和frameShape( )已提取ShadowShape部分frameStyle( ) 。

See also frameStyle()和setFrameStyle( ) 。


Method Documentation

  1. QFrame.__init__ (self, QWidget parent = None, Qt.WindowFlags flags = 0)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个框架部件与框架样式NoFrame和一个1像素边框宽度。

parentf参数被传递到QWidget构造函数。

  1. QFrame.changeEvent (self, QEvent)

从重新实现QWidget.changeEvent( ) 。

  1. QFrame.drawFrame (self, QPainter)
  1. bool QFrame.event (self, QEvent e)

从重新实现QObject.event( ) 。

  1. QRect QFrame.frameRect (self)

  1. Shadow QFrame.frameShadow (self)

  1. Shape QFrame.frameShape (self)

[

  1. int QFrame.frameStyle (self)

返回框架风格。

]($docs-qframe.html#Shape-enum)

缺省值是QFrame.Plain

See also setFrameStyle( )frameShape()和frameShadow( ) 。

  1. int QFrame.frameWidth (self)
  1. int QFrame.lineWidth (self)
  1. int QFrame.midLineWidth (self)
  1. QFrame.paintEvent (self, QPaintEvent)

从重新实现QWidget.paintEvent( ) 。

  1. QFrame.setFrameRect (self, QRect)
  1. QFrame.setFrameShadow (self, Shadow)
  1. QFrame.setFrameShape (self, Shape)
  1. QFrame.setFrameStyle (self, int)

设置框架样式style

style是按位或一个框的形状和框架阴影样式之间。看到在主类文件的帧的图片。

在框架形状在给定的QFrame.Shape并且在阴影样式QFrame.Shadow

如果一个中等宽度小于指定0越大,附加线的绘制Raised or Sunken BoxHLineVLine帧。当前颜色组的中间色用于绘制中间线。

See also frameStyle( ) 。

  1. QFrame.setLineWidth (self, int)
  1. QFrame.setMidLineWidth (self, int)
  1. QSize QFrame.sizeHint (self)

从重新实现QWidget.sizeHint( ) 。