QFontMetrics Class Reference
[QtGui module]
该QFontMetrics类提供的字体度量信息。More…
Methods
__init__ (self, QFont)
__init__ (self, QFont, QPaintDevice pd)
__init__ (self, QFontMetrics)
int ascent (self)
int averageCharWidth (self)
QRect boundingRect (self, QChar)
QRect boundingRect (self, QString text)
QRect boundingRect (self, QRect rect, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
QRect boundingRect (self, int x, int y, int width, int height, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
QRect boundingRectChar (self, QChar)
int charWidth (self, QString str, int pos)
int descent (self)
QString elidedText (self, QString text, Qt.TextElideMode mode, int width, int flags = 0)
int height (self)
bool inFont (self, QChar)
bool inFontUcs4 (self, int character)
int leading (self)
int leftBearing (self, QChar)
int lineSpacing (self)
int lineWidth (self)
int maxWidth (self)
int minLeftBearing (self)
int minRightBearing (self)
int overlinePos (self)
int rightBearing (self, QChar)
QSize size (self, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
int strikeOutPos (self)
QRect tightBoundingRect (self, QString text)
int underlinePos (self)
int width (self, QChar)
int width (self, QString text, int length = -1)
int widthChar (self, QChar)
int xHeight (self)
Special Methods
bool __eq__ (self, QFontMetrics other)
bool __ne__ (self, QFontMetrics other)
Detailed Description
该QFontMetrics类提供的字体度量信息。
QFontMetrics函数计算字符和字符串给定字体的大小。有三种方法可以创建一个QFontMetrics对象:
调用QFontMetrics构造带QFont创建一个字体规格对象的屏幕兼容的字体,即字体不能为打印机字体。如果字体是后来改,字体规格对象not更新。
(注:如果您使用的打印机字体返回的值可能是不准确的打印机字体并不总是那么访问最近的屏幕字体时使用打印机字体提供。 )
QWidget.fontMetrics( )返回的字体度量一个小部件的字体。这相当于QFontMetrics (插件 - \u003e字体())。如果控件的字体是后来改,字体规格对象not更新。
- QPainter.fontMetrics( )返回的字体规格为一个画家的当前字体。如果画家的字体后来改变,字体规格对象not更新。
一旦创建,该对象提供了访问字体,它的字符,并在字体渲染字符串的各个指标。
有迹象表明,在字体上运行几个功能:ascent( )descent( )height( )leading()和lineSpacing( )返回字体的基本大小属性。该underlinePos( )overlinePos( )strikeOutPos()和lineWidth( )函数,返回强调, overlines或撞击出的字符的行的属性。这些功能都是快。
也有一些对集合中的字体字形的操作一些功能:minLeftBearing( )minRightBearing()和maxWidth( ) 。这些都是必然缓慢,我们建议避免他们,如果可能的。
对于每一个字符,就可以得到其width( )leftBearing()和rightBearing( ),并找出是否是在使用字体inFont( ) 。您也可以把字符作为字符串,并使用字符串函数就可以了。
字符串函数包括:width() ,返回字符串的宽度以像素为单位(或点,用于打印机)boundingRect( )返回一个矩形足够大,以包含所呈现的串,并size() ,以返回该矩形的大小。
例如:
[QFont]($docs-qfont.html) font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
Method Documentation
QFontMetrics.__init__ (self, QFont)
构造一个字体规格对象为font。
字体规格将与用于创建paintdevice兼容font。
字体规格对象持有,在它被创建的时候被传递在构造函数中的字体的信息,并且不更新,如果字体的属性后来改。
使用QFontMetrics(常量QFont& ,QPaintDevice*)来获取字体度量标准,具有一定的绘图设备兼容。
QFontMetrics.__init__ (self, QFont, QPaintDevice pd)
构造一个字体规格对象为font和paintdevice。
字体规格将与通过paintdevice兼容。如果paintdevice为0时,度量将屏幕兼容的,即得。你得到,如果你使用的字体在绘制文本的指标widgets or pixmaps,而不是在QPicture or QPrinter。
字体规格对象持有,在它被创建的时候被传递在构造函数中的字体的信息,并且不更新,如果字体的属性后来改。
QFontMetrics.__init__ (self, QFontMetrics)
构造的副本fm。
int QFontMetrics.ascent (self)
返回字体的上升。
字体的上升是从基线到最高位置的字符延伸到距离。在实践中,有些字体设计师打破了这个规则,如当他们把一个以上的口音就一个字之上,或者以适应异国的语言不同寻常的性格,所以它是可能的(虽然很少) ,这个值将是太小了。
See also descent( ) 。
int QFontMetrics.averageCharWidth (self)
返回字形在字体的平均宽度。
这个函数中引入了Qt 4.2中。
QRect QFontMetrics.boundingRect (self, QChar)
[
返回复盖油墨的矩形,如果字符ch分别在坐标系的原点被绘制。
请注意,边框可能会延伸到( 0 , 0 ) (例如,斜体字体)的左侧,该文本输出可能复盖all像素的边界矩形。对于一个空格字符的矩形通常是空的。
请注意,矩形通常既基线的上方和下方延伸。
]($docs-qrect.html)
Warning:返回的矩形的宽度不是字符的超前宽度。使用boundingRect (常量QString&)或width( )来代替。
See also width( ) 。
QRect QFontMetrics.boundingRect (self, QString text)
[
返回字符的边框由指定的字符串中text。边界矩形总是至少复盖的像素集合的文本将涵盖如果画在( 0 , 0 ) 。
]($docs-qrect.html)
注意,边框可以延伸到的(0,0 ),例如左斜体字体,返回的矩形的宽度可能比什么不同width( )方法返回。
如果你想知道字符串的超前宽度(布局彼此相邻一组字符串) ,使用width( )来代替。
换行符的处理方法与普通字符,not作为换行符。
的边界矩形的高度至少一样大,返回的值height( ) 。
See also width( )height( )QPainter.boundingRect()和tightBoundingRect( ) 。
QRect QFontMetrics.boundingRect (self, QRect rect, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
[
该tabArray参数也可能没有。
]($docs-qrect.html)
QRect QFontMetrics.boundingRect (self, int x, int y, int width, int height, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
[
该tabArray参数也可能没有。
]($docs-qrect.html)
QRect QFontMetrics.boundingRectChar (self, QChar)
[
int QFontMetrics.charWidth (self, QString str, int pos)
int QFontMetrics.descent (self)
返回字体的血统。
的下降是从基准线到最低点的字符延伸到距离。在实践中,有些字体设计师打破了这个规则,如以容纳在一个异乎寻常的语言不寻常的字符,所以它是可能的(虽然很少) ,该值将是太小。
]($docs-qrect.html)
QString QFontMetrics.elidedText (self, QString text, Qt.TextElideMode mode, int width, int flags = 0)
如果字符串text比更宽width,返回字符串的省略版本(即,在用“ …… ”一个字符串) 。否则,返回原始字符串。
该mode参数指定的文本是省略左侧(如“ ……技术” ) ,中间(例如,“风帆… CH” ) ,或在右边(例如,“ TROL …” ) 。
该width指定以像素为单位,而不是以字符。
该flags参数是可选的,并且目前只支持Qt.TextShowMnemonic作为值。
艾莱德的标志将按照layout direction;这将是在右侧的文本从右到左的布局,并在左侧为从右到左的布局。请注意,这种行为是独立的文本语言。
这个函数中引入了Qt 4.2中。
int QFontMetrics.height (self)
返回字体的高度。
这总是等于ascent()+descent() 1 ( 1是基准线) 。
See also leading()和lineSpacing( ) 。
bool QFontMetrics.inFont (self, QChar)
返回True如果字符ch在字体中的有效字符,否则返回False 。
bool QFontMetrics.inFontUcs4 (self, int character)
返回True如果给定的character编码UCS-4/UTF-32是在字体中的有效字符,否则返回False 。
此功能被引入Qt的4.8 。
int QFontMetrics.leading (self)
返回字体的领先。
这是自然的线间间距。
See also height()和lineSpacing( ) 。
int QFontMetrics.leftBearing (self, QChar)
返回字符的左轴承ch在字体。
左边的轴承是从字符的逻辑原点的字符的最左边的像素的右支距离。这个值是负的,如果该字符的像素延伸到逻辑原点的左边。
见宽(QChar)这个度量的图形化描述。
See also rightBearing( )minLeftBearing()和width( ) 。
int QFontMetrics.lineSpacing (self)
返回从一个基线的距离下。
See also height()和leading( ) 。
int QFontMetrics.lineWidth (self)
返回下划线和删除线,调整字体的点大小的宽度。
See also underlinePos( )overlinePos()和strikeOutPos( ) 。
int QFontMetrics.maxWidth (self)
返回最宽的字符的字体的宽度。
int QFontMetrics.minLeftBearing (self)
返回字体的最小左轴承。
这是字体中的所有字符的最小leftBearing (字符) 。
请注意,此功能可能会非常缓慢,如果字体很大。
See also minRightBearing()和leftBearing( ) 。
int QFontMetrics.minRightBearing (self)
返回字体的最低右侧轴承。
这是字体中的所有字符的最小rightBearing (字符) 。
请注意,此功能可能会非常缓慢,如果字体很大。
See also minLeftBearing()和rightBearing( ) 。
int QFontMetrics.overlinePos (self)
返回从基线的距离,其中一个上划线应绘制。
See also underlinePos( )strikeOutPos()和lineWidth( ) 。
int QFontMetrics.rightBearing (self, QChar)
返回字符的右侧轴承ch在字体。
右轴承是由一个后续字符的逻辑原点的最右边的像素的字符的左病房距离。这个值是负的,如果该字符的像素延伸到的权width的字符() 。
See width( )这个指标的图形化描述。
See also leftBearing( )minRightBearing()和width( ) 。
QSize QFontMetrics.size (self, int flags, QString text, int tabStops = 0, list-of-int tabArray = 0)
[
该tabArray参数也可能没有。
返回该尺寸中的像素text。
该flags参数是下列标志的按位或:
](qsize.html)
- Qt.TextSingleLine ignores newline characters.
- Qt.TextExpandTabs expands tabs (see below)
- Qt.TextShowMnemonic interprets “&x” as <u>x</u>; i.e., underlined.
- Qt.TextWordBreak breaks the text to fit the rectangle.
If Qt.TextExpandTabs在设置flags,则:如果tabArray不为null ,它指定了一个0结尾的像素位置的选项卡顺序,否则,如果tabStops是非零的,它被用作标籤间距(以像素为单位) 。
换行字符处理为换行符。
尽管在不同的实际字符的高度,的边界矩形的高度“是”, “是”是相同的。
See also boundingRect( ) 。
int QFontMetrics.strikeOutPos (self)
返回从基准线的距离,其中应绘制的三振线。
See also underlinePos( )overlinePos()和lineWidth( ) 。
QRect QFontMetrics.tightBoundingRect (self, QString text)
[
返回字符周围紧张的边界矩形被指定的字符串中text。边界矩形总是至少复盖的像素集合的文本将涵盖如果画在( 0 , 0 ) 。
]($docs-qrect.html)
注意,边框可以延伸到的(0,0 ),例如左斜体字体,返回的矩形的宽度可能比什么不同width( )方法返回。
如果你想知道字符串的超前宽度(布局彼此相邻一组字符串) ,使用width( )来代替。
换行符的处理方法与普通字符,not作为换行符。
Warning:调用此方法将是非常缓慢的Windows 。
此功能被引入Qt的4.3 。
See also width( )height()和boundingRect( ) 。
int QFontMetrics.underlinePos (self)
返回从基线的距离,其中一个底线应绘制。
See also overlinePos( )strikeOutPos()和lineWidth( ) 。
int QFontMetrics.width (self, QChar)
返回该宽度在所述第一像素len字符text。如果len是负的(默认值) ,则整个字符串被使用。
注意,该值是not等于boundingRect( )宽();boundingRect( )返回一个描述像素的矩形这个字符串将复盖而宽度( )返回的距离应在其中绘制的下一个字符串。
See also boundingRect( ) 。
int QFontMetrics.width (self, QString text, int length = -1)
int QFontMetrics.widthChar (self, QChar)
int QFontMetrics.xHeight (self)
返回字体的’X’的高度。这是常常但不总是相同的字符“X”的高度。
bool QFontMetrics.__eq__ (self, QFontMetrics other)
bool QFontMetrics.__ne__ (self, QFontMetrics other)