无caption属性int 的基类类有哪些

QWidget类是所有用户界面对象的基类。
#include
公有成员
( QWidget * arent = 0, co t char * ame = 0, WFlag f = 0 )
() co t
QStyle &am () co t
( QStyle * tyle )
QStyle *
( co t QString am tyle )
() co t
() co t
() co t
() co t
() co t
() co t
( QWidget * ancestor ) co t
bool isEnabledToTLW () co t (o olete)
() co t
co t QRect &am () co t
() co t
() co t
() co t
() co t
() co t
() co t
() co t
() co t
() co t
QRegion
() co t
() co t
() co t
() co t
() co t
() co t
() co t
( co t QSize &am )
virtual void
( int minw, int minh )
( co t QSize &am )
virtual void
( int maxw, int maxh )
( int minw )
( int minh )
( int maxw )
( int maxh )
() co t
( co t QSize &am )
virtual void
( int w, int h )
() co t
( co t QSize &am )
( int asew, int aseh )
( co t QSize am )
( int w, int h )
( int w )
( int h )
( co t QPoint am os ) co t
( co t QPoint am os ) co t
( co t QPoint am os ) co t
( co t QPoint am os ) co t
( QWidget * arent, co t QPoint am os ) co t
( QWidget * arent, co t QPoint am os ) co t
QWidget *
() co t
BackgroundMode
() co t
virtual void
( BackgroundMode )
( BackgroundMode m, BackgroundMode visual )
co t QColor &am () co t
co t QColor &am () co t
virtual void
( co t QColor am color )
co t QPixmap *
() co t
virtual void
( co t QPixma am ixmap )
co t QColorGroup &am () co t
co t QPalette &am () co t
() co t
virtual void
( co t QPalette &am )
co t QColor &am () co t
( co t QColor &am )
co t QColor &am () co t
virtual void
( co t QColor &am )
co t QPixmap *
() co t
virtual void
( co t QPixmap &am )
co t QBrush &am () co t
() co t
() co t
virtual void
( co t QFont &am )
QFontMetrics
() co t
QFontInfo
() co t
co t QCursor &am () co t
() co t
virtual void
( co t QCursor &am )
virtual void
QString
() co t
co t QPixmap *
() co t
QString
() co t
() co t
() co t
virtual void
( co t QBitma am itmap )
virtual void
( co t QRegio am region )
co t QColor &am backgroundColor () co t (o olete)
virtual void setBackgroundColor ( co t QColor am c ) (o olete)
co t QPixmap * backgroundPixmap () co t (o olete)
virtual void setBackgroundPixmap ( co t QPixma am m ) (o olete)
{ NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = 0x3, WheelFocus = 0x7 }
() co t
virtual void
() co t
FocusPolicy
() co t
virtual void
( FocusPolicy )
() co t
virtual void
( QWidget * w )
QWidget *
() co t
( co t QCursor am cursor )
() co t
virtual bool
( bool alsoDelete )
() co t
( QWidget * ancestor ) co t
bool isVisibleToTLW () co t (o olete)
() co t
() co t
() co t
() co t
virtual QSize
() co t
virtual QSize
() co t
virtual QSizePolicy
() co t
virtual void
( QSizePolicy )
virtual int
( int w ) co t
virtual void
QLayout *
() co t
virtual void
( QWidget * arent, WFlag f, co t QPoint am , bool howIt = FALSE )
( QWidget * arent, co t QPoint am , bool howIt = FALSE )
void recreate ( QWidget * arent, WFlag f, co t QPoint am , bool howIt = FALSE ) (o olete)
( int x, int y, int w, int h )
( co t QRect am r )
( co t QRegio am reg )
( int dx, int dy )
( int dx, int dy, co t QRect am r )
( int x, int y, co t QString am tr )
( co t QPoint am os, co t QString am tr )
QWidget *
() co t
() co t
() co t
virtual void
( bool on )
virtual void
( bool )
() co t
{ WidgetOrigin, ParentOrigin, WindowOrigin }
virtual void
( BackgroundOrigin )
BackgroundOrigin
() co t
virtual bool
() co t
QWidget *
( bool ameWindow = FALSE ) co t
( WFlag f ) co t
QWidget *
( int x, int y, bool includeThis = FALSE ) co t
QWidget *
( co t QPoint am , bool includeThis = FALSE ) co t
void setPalette ( co t QPalette am , bool ) (o olete)
void setFont ( co t QFont am f, bool ) (o olete)
virtual void
( bool )
( bool disable )
virtual void
( co t QString &am )
virtual void
( co t QPixmap &am )
virtual void
( co t QString &am )
virtual void
( bool enable )
virtual void
virtual void
( bool enable )
( int x, int y, int w, int h )
( co t QRect am r )
( bool erase )
( int x, int y, int w, int h, bool erase = TRUE )
( co t QRect am r, bool erase = TRUE )
( co t QRegio am reg, bool erase = TRUE )
virtual void
virtual void
void iconify () (o olete)
virtual void
virtual void
virtual void
virtual void
() co t
( QWidget * w )
virtual void
( int x, int y )
( co t QPoint &am )
virtual void
( int w, int h )
( co t QSize &am )
virtual void
( int x, int y, int w, int h )
virtual void
( co t QRect &am )
静态公有成员
( QWidget * first, QWidget * econd )
QWidget *
QWidget *
QWidget *
( WId id )
bool - 窗口部件中放下事件是否有效
bool - 窗口部件中自动面具特征是否有效
QBrush - 窗口部件的背景画刷 (只读)
BackgroundMode - 绘制窗口部件背景所使用的颜色模式
BackgroundOrigin - 窗口部件的背景的原点
QSize - 窗口部件的基础大小
QString - 窗口标题
QRect - 窗口部件的子对象的边界矩形 (只读)
QRegion - 窗口部件的子对象所占用的组合区域 (只读)
QColorGroup - 窗口部件调色板的当前颜色组 (只读)
QCursor - 窗口部件的光标外形
bool - 窗口部件是否手动处理“这是什么”的帮助 (只读)
bool - 窗口部件是否有效
bool - 窗口部件(或者它的焦点代理)是否得到键盘输入焦点 (只读)
bool - 窗口部件是否接收键盘焦点 (只读)
FocusPolicy - 窗口部件接收键盘焦点的策略
QFont - 窗口部件当前的字体集
QRect - 相对于它的父对象包含任何窗口框架的窗口部件的几何形状 (只读)
QSize - 包含任何窗口框架的窗口部件的大小 (只读)
QRect - 相对于它的父对象不包括窗口框架的窗口部件的几何形状
int - 不包括窗口框架的窗口部件的高度 (只读)
bool - 窗口部件是否明确地隐藏 (只读)
QPixmap - 窗口部件图标像素映射
QString - 窗口部件图标文本
bool - 窗口部件或者它的一个子对象是否是活动窗口 (只读)
bool - 窗口部件是否是桌面窗口部件,比如,代表桌面 (只读)
bool - 窗口部件是否是对话框窗口部件 (只读)
bool - 窗口部件是否是模式窗口部件 (只读)
bool - 窗口部件是否是弹出窗口部件 (只读)
bool - 窗口部件是否是顶级窗口部件 (只读)
int - 窗口部件的最大高度
QSize - 窗口部件的最大大小
int - 窗口部件的最大宽度
QRect - 窗口部件的当前设置的微焦点提示 (只读)
bool - 窗口部件是否是最小化的(变为图标了) (只读)
int - 窗口部件的最小高度
QSize - 窗口部件的最小大小
QSize - 建议的窗口部件最小大小 (只读)
int - 窗口部件的最小宽度
bool - 窗口部件跟踪鼠标是否生效
bool - 窗口部件是否使用它自己的光标 (只读)
bool - 窗口部件是否使用它自己的字体 (只读)
bool - 窗口部件是否使用它自己的调色板 (只读)
QPalette - 窗口部件的调色板
QColor - 窗口部件的背景色
QPixmap - 窗口部件的背景像素映射
QColor - 窗口部件的前景色
QPoint - 窗口部件在它的父窗口部件中的位置
QRect - 不包含任何窗口框架的窗口部件的内部几何形状 (只读)
QSize - 不包含任何窗口框架的窗口部件的大小
QSize - 建议的窗口部件大小 (只读)
QSize - 窗口部件的大小增量
QSizePolicy - 窗口部件的默认布局行为
bool - 窗口部件是否在鼠标光标下 (只读)
bool - 更新是否生效
bool - 窗口部件是否可视 (只读)
QRect - 窗口部件的当前可视矩形 (只读)
int - 不包含任何窗口框架的窗口部件宽度 (只读)
int - 相对于它的父对象包含任何窗口框架的窗口部件的x坐标 (只读)
int - 相对于它的父对象包含任何窗口框架的窗口部件的y坐标 (只读)
保护成员
virtual bool
( QEvent * e )
virtual void
( QMouseEvent * e )
virtual void
( QMouseEvent * e )
virtual void
( QMouseEvent * e )
virtual void
( QMouseEvent * e )
virtual void
( QWheelEvent * e )
virtual void
( QKeyEvent * e )
virtual void
( QKeyEvent * e )
virtual void
( QFocusEvent * )
virtual void
( QFocusEvent * )
virtual void
( QEvent * )
virtual void
( QEvent * )
virtual void
( QPaintEvent * )
virtual void
( QMoveEvent * )
virtual void
( QResizeEvent * )
virtual void
( QCloseEvent * e )
virtual void
( QContextMenuEvent * e )
virtual void
( QIMEvent * e )
virtual void
( QIMEvent * e )
virtual void
( QIMEvent * e )
virtual void
( QTabletEvent * e )
virtual void
( QDragEnterEvent * )
virtual void
( QDragMoveEvent * )
virtual void
( QDragLeaveEvent * )
virtual void
( QDropEvent * )
virtual void
( QShowEvent * )
virtual void
( QHideEvent * )
virtual bool
( MSG * )
virtual bool
( MSG * )
virtual bool
( XEvent * )
virtual bool
( QWSEvent * )
virtual void
virtual void
( QStyle am oldStyle )
virtual void
( bool oldEnabled )
virtual void
( co t QPalette am oldPalette )
virtual void
( co t QFont am oldFont )
virtual void
( bool oldActive )
virtual int
( int m ) co t
virtual void
( WId window = 0, bool initializeWindow = TRUE, bool destroyOldWindow = TRUE )
virtual void
( bool destroyWindow = TRUE, bool destroySubWindows = TRUE )
() co t
virtual void
( WFlag f )
( WFlag f )
virtual bool
( bool ext )
QFocusData *
virtual void
( bool compre )
virtual void
( int x, int y, int width, int height, bool text = TRUE, QFont * f = 0 )
详细描述
QWidget类是所有用户界面对象的基类。
窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。
是最普通的顶级窗口。不被嵌入到一个父窗口部件的窗口部件被叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管如果使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,
和和不同的
的子类是最普通的顶级窗口。
一个没有父窗口部件的窗口部件一直是顶级窗口部件。
非顶级窗口部件是子窗口部件。它们是它们的父窗口部件中的子窗口。你通常不能在视觉角度从它们的父窗口部件中辨别一个子窗口部件。在Qt中的绝大多数其它窗口部件仅仅作为子窗口部件才是有用的。(当然把一个按钮作为或者叫做顶级窗口部件也是可能的,但绝大多数人喜欢把他们的按钮放到其它按钮当中,比如QDialog。)
QWidget有很多成员函数,但是它们中的一些有少量的直接功能:例如,QWidget有一个字体属性,但是它自己从来不用。有很多继承它的子类提供了实际的功能,比如
函数分组:
窗口函数
顶级窗口
窗口内容
几何形状
鼠标和键盘捕获
事件处理器
变化处理器
系统函数
这是什么的帮助
内部核心函数
()、wma er()、
每一个窗口部件构造函数接受两个或三个标准参数:
QWidget *parent = 0
是新窗口部件的父窗口部件。如果为0(默认),新的窗口部件将是一个顶级窗口部件。如果不是,它将会使
的一个孩子,并且被
的几何形状所强迫(除非你指定
co t char *name = 0
是新窗口部件的窗口部件名称。你可以使用
()来访问它。窗口部件名称很少被程序员用到,但是对于图形用户界面构造程序,比如
Qt设计器
,是相当重要的(你可以在
Qt设计器
中命名一个窗口部件,并且在你的代码中使用这个名字来
()调试函数也使用它。
WFlags f = 0
(在可用的情况下)设置窗口部件标记,默认设置对于几乎所有窗口部件都是适用的,但是,举例来说,一个没有窗口系统框架的顶级窗口部件,你必须使用特定的标记。
tictac/tictac.c 实例程序是一个简单窗口部件的好实例。它包含了一些的事件处理器(就像所有窗口部件所必须的那样)、一些被指定给它的定制处理(就像所有有用的窗口部件做的那样)并且还有一些孩子和联机。它所做的每一件事都响应对应的一个事件:这是到目前为止设计图形用户界面的最普通的方式。
你自己将需要为你的窗口部件提供内容,但是这里是一些简要的运行事件,从最普通的开始:
() - 只要窗口部件需要被重绘就被调用。每个要显示输出的窗口部件必须实现它并且
在paintEvent()之外在屏幕上绘制是明智的。
() - 当窗口部件被重新定义大小时被调用。
() - 当鼠标键被按下时被调用。有六个鼠标相关事件,但是鼠标按下和鼠标释放事件是到目前为止最重要的。当鼠标在窗口部件内或者当它使用
()来捕获鼠标时,它接收鼠标按下事件。
() - 当鼠标键被释放时被调用。当窗口部件已经接收相应的鼠标按下事件时,它接收鼠标释放事件。这也就是说如果用户在
窗口部件内按下鼠标,然后拖着鼠标到其它某个地方,然后释放,
窗口部件接收这个释放事件。这里有一个例外:如果出现在弹出菜单中,当鼠标键被按下时,这个弹出菜单立即会偷掉这个鼠标事件。
() - 和它看起来也许不太一样。如果用户双击,窗口部件接收一个鼠标按下事件(如果他们没有拿牢鼠标,也许会出现一个或两个鼠标移动事件)、一个鼠标释放事件并且最终是这个事件。直到你看到第二次点击是否到来之前,
从一个双击中辨别一个点击。(这是为什么绝大多数图形用户界面图书建议双击是单击的一个扩展,而不是一个不同行为的触发的一个原因。)
如果你的窗口部件仅仅包含子窗口部件,你也许不需要实现任何一个事件处理器。如果你想检测在子窗口部件中的鼠标点击,请在父窗口部件的
()中调用子窗口部件的
()函数。
接收键盘的窗口部件需要重新实现一些更多的事件处理器:
() - 只要键被按下和当键已经被按下足够长的时间可以自动重复了就被调用。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现
() - 当窗口部件获得键盘焦点(假设你已经调用
())时被调用。写得好的窗口部件意味着它们能按照一种清晰但谨慎的方式来获得键盘焦点。
() - 当窗口部件失去键盘焦点时被调用。
一些窗口部件也许需要实现一些不太普通的事件处理器:
() - 只要当鼠标键被按下时鼠标移动就会被调用。举例来说,对于拖动,这个很有用。如果你调用
(TRUE),尽管没有鼠标键被按下,你也会获得鼠标移动事件。(注意这个使用鼠标跟踪的应用程序在低下的X连接下不是很有用。)(也可以参考
信息。)
() - 只要键被释放和当如果这个键是自动重复的并且被按下一段时间时就被调用。在这种情况下窗口部件接收一个键释放事件并且对于每一个重复立即有一个键按下事件。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现
() -- 当窗口部件拥有焦点时,只要用户转动鼠标滚轮就被调用。
() - 当鼠标进入这个窗口部件屏幕空间时被调用。(这不包括被这个窗口部件的子窗口部件所拥有的屏幕空间。)
() - 当鼠标离开这个窗口部件的屏幕空间时被调用。
() - 当窗口部件相对于它的父窗口部件已经被移动时被调用。
() - 当用户关闭窗口部件时(或这当
()被调用时)被调用。
这里还有一些不太明显的事件。它们在
中被列出并且你需要重新实现
()来处理它们。event()的默认实现处理Tab和Shift+Tab(移动键盘焦点)并且其它绝大多数事件给上面提到的一个或更多的特定处理器。
当实现一个窗口部件时,还有一些更多的事情要考虑。
在构造函数中,在你可能收到一个事件的任何机会之前,请确认尽早地设置你的成员变量。
重新实现
()在绝大多数情况下都是很有用的并且使用
(),来设置正确的大小策略,这样你的同事可以更容易地设置布局管理器。一个大小策略可以让你为布局管理器提供好的默认情况,这样其它窗口部件可以很容易地包含和管理你的窗口部件。sizeHint()为这个窗口部件说明一个“好的”大小。
如果你的窗口部件是一个顶级窗口部件,
()分别设置标题栏和图标。
也可以参考
成员类型文档
QWidget::BackgroundOrigin
这个枚举变量定义了用于绘制窗口部件背景像素映射的原点。
被绘制的像素映射使用:
QWidget::WidgetOrigin
- 窗口部件的坐标系统。
QWidget::ParentOrigin
- 父窗口部件的坐标系统。
QWidget::WindowOrigin
- 顶级窗口的坐标系统。
QWidget::FocusPolicy
这个枚举变量定义了一个窗口部件获得
所依据的不同策略。
可以是:
QWidget::TabFocus
- 窗口部件通过Tab获得焦点。
QWidget::ClickFocus
- 窗口部件通过点击获得焦点。
QWidget::StrongFocus
- 窗口部件通过Tab和点击获得焦点。
QWidget::WheelFocus
- 像StrongFocus那样加上窗口部件通过使用鼠标滚轮获得焦点。
QWidget::NoFocus
- 窗口部件不接收焦点。
成员函数文档
QWidget::QWidget ( * arent = 0, co t char * ame = 0, WFlag f = 0 )
构造一个是
的孩子、名称为
并且窗口部件标记为
的窗口部件。
为0,新的窗口部件变为顶级窗口。如果
是另一个窗口部件,这个窗口部件变为
中的一个子窗口。当它的
被删除时,新的窗口部件被删除。
被发送给
的构造函数。
窗口部件标记参数
通常为0,但它可以为顶级窗口部件设置自定义的窗口框架(比如,
必须为0)。为了自定义框架,设置
标记和任何一个
进行或运算。
如果你向一个已经可见的窗口部件中添加一个子窗口部件,你必须明显地显示这个孩子来使它可视。
注意Qt的X11版本也许不能在所有的系统上传递风格标记得所有组合。这是因为在X11上,Qt只能询问窗口管理器,并且窗口管理器会覆盖应用程序的设置。在Windows上,Qt可以是指你想要的任何标记。
* lashScreen = new
( 0, "mySplashScreen",
WStyle_Customize | WStyle_NoBorder |
QWidget::~QWidget ()
销毁这个窗口部件。
首先这个窗口部件的孩子都被删除。如果这个窗口部件是主窗口部件,应用程序退出。
QWidget::acceptDro () co t
如果对于这个窗口部件放下事件生效,返回真,否则返回假。详细情况请参考
QWidget::adjustSize ()
调整窗口部件的大小来适合它的内容。
()有效(比如,如果大小提示的宽和高都大于等于0)就是用它,否则设置大小为子对象所占用的矩形(所有子窗口部件几何形状的合集)。
也可以参考
中被重新实现。
QWidget::autoMask () co t
如果对于这个窗口部件自动面具特征生效,返回真,否则返回假。详细情况请参考
co t am QWidget::backgroundBrush () co t
返回这个窗口部件的背景画刷。详细情况请参考
co t am QWidget::backgroundColor () co t
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
作为替代请使用
QWidget::backgroundMode () co t
返回绘制窗口部件的背景所使用的颜色功能。详细情况请参考
QWidget::backgroundOrigin () co t
返回窗口部件的背景的原点。详细情况请参考
QWidget::backgroundPixmap () co t
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
作为替代请使用
QWidget::baseSize () co t
返回窗口部件的继承大小。详细情况请参考
QWidget::caption () co t
返回窗口标题。详细情况请参考
属性。 *
QWidget::childAt ( int x, int y, bool includeThis = FALSE ) co t
返回在窗口部件自己的坐标系统中像素位置
处的可视的子窗口部件。
includeThis
为真,并且在
没有可视的孩子,那么这个窗口部件本身被返回。 *
QWidget::childAt ( co t am , bool includeThis = FALSE ) co t
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
返回在窗口部件自己的坐标系统中点
处的可视的子窗口部件。
includeThis
为真,并且在
没有可视的孩子,那么这个窗口部件本身被返回。
QWidget::childrenRect () co t
返回这个窗口部件的孩子的边界矩形。详细情况请参考
QWidget::childrenRegion () co t
返回这个窗口部件的孩子所占用的组合区域。详细情况请参考
QWidget::clearFocus ()
从窗口部件中拿走键盘输入焦点。
如果这个窗口部件有激活的焦点,
被发送给这个窗口部件告诉它关于它失去了焦点。
这个窗口部件必须已经为了获得键盘输入焦点使焦点设置生效,比如,它必须调用
也可以参考
QWidget::clearMask ()
()移除任何面具设置。
也可以参考
QWidget::clearWFlags ( WFlag f )
清空窗口部件标记
窗口部件标记是
的组合。
也可以参考
QWidget::close ()
关闭这个窗口部件。如果窗口部件被关闭,返回真,否则返回假。
首先它发送给这个窗口部件一个
。如果它
这个关闭事件,它就被
()的默认实现是接收这个关闭事件。
当最后一个可视的顶级窗口部件被关闭,
()信号被发射。
QWidget::close ( bool alsoDelete )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
关闭这个窗口部件。如果窗口部件被关闭,返回真,否则返回假。
alsoDelete
为真或者这个窗口部件有
窗口部件标记,这个窗口部件也被删除。这个窗口部件自己可以通过抵制它所收到的
来防止被关闭。
当最后一个可视的顶级窗口部件被关闭,
()信号被发射。
注意关闭
()会终止应用程序。
也可以参考
QWidget::closeEvent ( * e )
[虚 保护]
这个对于事件
的事件处理器可以在子类中被重新实现来接收窗口部件关闭事件。
默认实现是调用e->accept(),它隐藏这个窗口部件。详细情况请参考
也可以参考
co t am QWidget::colorGroup () co t
返回这个窗口部件调色板的当前颜色组。详细情况请参考
QWidget::co tPolish () co t
确认这个窗口部件通过调用
()被适当地初始化了。
()这样依赖于这个窗口部件被初始化的函数中调用
(),并且也可以在
()之前被调用。
不要在窗口部件的构造函数中调用co tPolish()。
也可以参考
QWidget::contextMenuEvent ( * e )
[虚 保护]
这个对于事件
的事件处理器可以在子类中被重新实现来接收窗口部件上下文菜单事件。
默认实现是调用e->accept(),它拒绝这个上下文事件。详细情况请参考
也可以参考
QWidget::create ( WId window = 0, bool initializeWindow = TRUE, bool destroyOldWindow = TRUE )
[虚 保护]
为零,创一个新的窗口部件窗口,否则设置窗口部件参考为
initializeWindow
为真,初始化窗口(设置几何形状等等)。如果
initializeWindow
为假,没有初始化被执行。这个参数只有在
是有效窗口时才有效。
destroyOldWindow
为真,销毁就的窗口。如果
destroyOldWindow
为假,你有责任自己销毁这个窗口(使用平台本地代码)。
QWidget构造函数调用
(0,TRUE,TRUE)来为这个窗口部件创建窗口。
co t am QWidget::cursor () co t
返回这个窗口部件的光标外形。详细情况请参考
QWidget::customWhatsThis () co t
如果这个窗口部件想手工地处理这是什么的帮助,返回真,否则返回假。详细情况请参考
QWidget::destroy ( bool destroyWindow = TRUE, bool destroySubWindows = TRUE )
[虚 保护]
释放窗口系统资源。如果
destroyWindow
为真,销毁这个窗口部件窗口。
对于所有的子窗口部件,
()循环地调用自己,传递给
destroySubWindows
destroyWindow
参数。为了对子窗口部件地销毁进行控制,首先有选择地销毁子窗口部件。
这个函数通常被QWidget析构函数调用。
QWidget::dragEnterEvent ( * )
[虚 保护]
当一个拖动正在进行并且鼠标进入这个窗口部件,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考
也可以参考
QWidget::dragLeaveEvent ( * )
[虚 保护]
当一个拖动正在进行并且鼠标离开这个窗口部件,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考
也可以参考
QWidget::dragMoveEvent ( * )
[虚 保护]
当一个拖动正在进行并且鼠标进入这个窗口部件,并且只要它在这个窗口部件中移动,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考
也可以参考
QWidget::drawText ( int x, int y, co t am tr )
绘制字符串
位置是文本的基线位置。使用默认字体和默认前景色绘制文本。
这个函数的提供是为了方便。你使用
替代它一般将会获得更灵活的结果和更快的速度。
也可以参考
QWidget::drawText ( co t am os, co t am tr )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
绘制字符串
QWidget::dropEvent ( * )
[虚 保护]
当拖动在这个窗口部件上被放下,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考
也可以参考
QWidget::enabledChange ( bool oldEnabled )
[虚 保护]
这个虚函数被
()调用。
oldEnabled
是以前的设置,你可以从
()中得到新的设置。
如果你的窗口部件需要知道什么时候它变为有效或无效,请重新实现这个函数。你将几乎必然要使用
()来更新这个窗口部件。
默认实现是重新绘制窗口部件的可见部分。
也可以参考
QWidget::enterEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收窗口部件进入事件。
当鼠标光标进入窗口部件,这个事件被发送给窗口部件。
也可以参考
QWidget::erase ( int x, int y, int w, int h )
在窗口部件中擦除指定区域
(x, y, w, h)
,并不产生
为负数,它被
width()-x
替换。如果
为负数,它被
height()-y
子窗口部件不被影响。
也可以参考
QWidget::erase ()
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本擦除整个窗口部件。
QWidget::erase ( co t am r )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
在窗口部件中擦除指定区域
,并不产生
QWidget::erase ( co t am reg )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
在窗口部件中擦除
定义的区域,并不产生
子窗口部件不被影响。
co t am QWidget::eraseColor () co t
返回这个窗口部件的擦除色。
也可以参考
QWidget::erasePixmap () co t
返回这个窗口部件的擦除像素映射。
也可以参考
QWidget::event ( * e )
[虚 保护]
这是主事件处理器,它处理事件
。你可以在子类中被重新实现整个函数,但是我们建议你使用一个特定的事件处理器来替代它。
主事件首先把事件传递给所有已经被***的
。如果没有过滤器中途截取这个事件,它调用一个特定的事件处理器。
键按下和释放事件被处理得和其它事件不同。
()检查Tab和Shift+Tab并且试图适当地移动焦点。如果没有窗口部件被焦点移入(或者键按下不是Tab或Shift+Tab),event()调用
如果它能够把一个事件传递给没个东西,这个函数就返回真,否则如果没有任何东西想要这个事件,返回假。
也可以参考
中被重新实现。 *
QWidget::find ( WId id )
返回窗口标识符/句柄为
的窗口部件指针。
窗口标识符类型依赖于底下的窗口系统,实际定义请参考
。如果没有具有这样的标识符的窗口部件,0被返回。 *
QWidget::focusData ()
返回这个窗口部件的顶级窗口部件的焦点数据的指针。
焦点数据总是属于顶级窗口部件。焦点数据列表包含这个可以接收焦点的顶级窗口部件中所有的窗口部件,按Tab顺序。一个迭代器指向当前焦点窗口部件(
()返回这个窗口部件的指针)。
这个信息对于重新实现更先进版本的
()很有用。
QWidget::focusInEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的
事件(焦点进入)。
一个窗口部件通常必须使用
()来接收焦点事件,除了NoFocus的。(注意应用程序的程序员可以在任何一个窗口部件中调用
(),即使是那些通常不接收焦点的。)
如果它接收了焦点,默认实现是更新这个窗口部件(请参考
())。它也调用
(),提示任何系统指定的输入工具关于用户注意的焦点。
也可以参考
中被重新实现。
QWidget::focusNextPrevChild ( bool ext )
[虚 保护]
找到一个新的窗口部件并且把
给它,适用于Tab和Shift+Tab,并且如果它能找到新的窗口部件就返回真,并且如果不能就返回假。
为真,这个函数就“向前”搜索,如果
为假,它就“向后”搜索。
有时,你想重新实现这个函数。例如,一个网页浏览器也许会重新实现它用来向前或向后移动“当前激活链接”,并且只有到达“页面”的最后一个或第一个链接时调用
子窗口部件在它们的父窗口部件上调用
(),但是只有顶级窗口部件可以重定向焦点。通过重载一个对象中的这个方法,你可以获得能够遍历所有子窗口部件的焦点控制。
也可以参考
QWidget::focusOutEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的
事件(焦点丢失)。
一个窗口部件通常必须使用
()来接收焦点事件,除了NoFocus的。(注意应用程序的程序员可以在任何一个窗口部件中调用
(),即使是那些通常不接收焦点的。)
默认实现是调用
(),因为窗口部件的
()从激活变为通常,所以这个窗口部件也许需要重新绘制。它也调用
(),提示任何系统指定的输入工具关于用户注意的焦点。
也可以参考
QWidget::focusPolicy () co t
返回窗口部件接收键盘焦点的方式。详细情况请参考
属性。 *
QWidget::focusProxy () co t
返回焦点代理的指针,或者如果没有焦点代理就返回0。
也可以参考
QWidget::focusWidget () co t
返回这个窗口部件窗口中的焦点窗口部件。这个和
()是不一样的,后者返回当前激活窗口中的焦点窗口部件。
QWidget::font () co t
返回这个窗口部件的字体当前设置。详细情况请参考
QWidget::fontChange ( co t am oldFont )
[虚 保护]
这个虚函数是从
()中被调用的。
oldFont
是以前的字体,你可以通过
()获得新的字体。
如果你的窗口部件需要直到什么时候它的字体改变了,就重新实现这个函数。你将几乎毫无疑问的需要使用
()更新这个窗口部件。
默认实现是更新包括它的几何形状的窗口部件。
也可以参考
QWidget::fontInfo () co t
返回这个窗口部件当前字体的字体信息。等于QFontInto(widget->font())。
也可以参考
QWidget::fontMetrics () co t
返回这个窗口部件的当前字体的字体规格。等于
(widget->font())。
也可以参考
co t am QWidget::foregroundColor () co t
()相同。
QWidget::frameGeometry () co t
返回相对于它的父对象包含任何窗口框架的窗口部件的几何形状。详细情况请参考
QWidget::frameSize () co t
返回包含任何窗口框架的窗口部件的大小。详细情况请参考
co t am QWidget::geometry () co t
返回相对于它的父对象不包括窗口框架的窗口部件的几何形状。详细情况请参考
QWidget::getWFlags () co t
返回这个窗口部件的窗口部件标记。
窗口部件就是
的一个组合。
也可以参考
QWidget::grabKeyboard ()
捕获键盘输入。
这个窗口部件接收所有的键盘事件并且其它窗口部件将不会得到直到
()被调用。鼠标事件不受影响。如果你想捕获鼠标事件,请使用
焦点窗口部件不受影响,除非它不接收任何键盘事件。
()像平常那样移动焦点,但是只有在releaseKeyboard()被调用之后,新的焦点窗口部件才能接收键盘事件。
如果一个不同的窗口部件当前正在捕获键盘焦点,那么那个窗口部件的捕获首先被释放。
也可以参考
QWidget::grabMouse ()
捕获鼠标输入。
这个窗口部件接收所有的鼠标事件并且其它窗口部件将不会得到直到
()被调用。键盘事件不受影响。如果你想捕获键盘事件,请使用
捕获鼠标的应用程序的bug经常会锁定终端。请特别仔细地使用这个函数,并且在调试的时候考虑使用-nograb命令行参数。
在使用Qt的时候,几乎不需要捕获鼠标,因为Qt非常聪明地捕获它、释放它。在特殊情况下,当鼠标按键被按下并且保持这种状态直到最后一个按键被释放时,Qt捕获鼠标。
注意只有可视的窗口部件可以捕获鼠标输入。如果一个窗口部件的
()返回假,这个窗口部件不能调用
也可以参考
QWidget::grabMouse ( co t am cursor )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
捕获鼠标输入并且改变光标形状。
光标将被赋值为形状
(只要在鼠标焦点被捕获)并且这个窗口部件将变为唯一接收鼠标事件的窗口部件直到
()被调用。
不过鼠标也许会锁定终端。
也可以参考
QWidget::hasFocus () co t
如果这个窗口部件(或者它的焦点代理)拥有键盘输入焦点,返回真,否则返回假。详细情况请参考
QWidget::hasMouse () co t
如果窗口部件在鼠标光标之下,返回真,否则返回假。详细情况请参考
QWidget::hasMouseTracking () co t
如果这个窗口部件中鼠标跟踪生效,返回真,否则返回假。详细情况请参考
QWidget::height () co t
返回不包括窗口框架的窗口部件的高度。详细情况请参考
QWidget::heightForWidth ( int w ) co t
返回对于给定宽度
这个窗口部件的最佳高度。默认实现是返回0,表明最佳高度不依赖于宽度。
不要考虑窗口部件的布局。
中被重新实现。
QWidget::hide ()
[虚 槽]
隐藏窗口部件。
你几乎不需要重新实现这个函数。如果你需要在一个窗口部件被隐藏之后做些什么,请使用
()替代。
也可以参考
中被重新实现。
QWidget::hideEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件隐藏事件。
在窗口部件被隐藏之后,隐藏事件被立即发送给窗口部件。
也可以参考
中被重新实现。
QWidget::icon () co t
返回窗口部件图标像素映射。详细情况请参考
QWidget::iconText () co t
返回窗口部件图标文本。详细情况请参考
QWidget::iconify ()
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
QWidget::imComposeEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考
也可以参考
QWidget::imEndEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户已经完成通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考
也可以参考
QWidget::imStartEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户开始通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考
也可以参考
QWidget::isActiveWindow () co t
如果这个窗口部件是激活窗口或者它的一个孩子,返回真,否则返回假。详细情况请参考
QWidget::isDesktop () co t
如果这个窗口部件是一个桌面窗口部件,比如,它代表着桌面,返回真,否则返回假。详细情况请参考
QWidget::isDialog () co t
如果这个窗口部件是一个对话框窗口部件,返回真,否则返回假。详细情况请参考
QWidget::isEnabled () co t
如果这个窗口部件是生效的,返回真,否则返回假。详细情况请参考
QWidget::isEnabledTo ( * ancestor ) co t
ancestor
生效,这个窗口部件能够变为生效的,返回真,否则返回假。
如果这个窗口部件自身或者它的每一个祖先,但是除了
ancestor
以外,已经被明确地指定为失效的时候,才是这样的情况。
(0)等于
也可以参考
QWidget::isEnabledToTLW () co t
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数是被反对的。它等于
QWidget::isFocusEnabled () co t
如果这个窗口部件接收键盘焦点,返回真,否则返回假。详细情况请参考
QWidget::isHidden () co t
如果这个窗口部件被明确地隐藏,返回真,否则返回假。详细情况请参考
QWidget::isMaximized () co t
如果窗口部件是被最大化的顶级窗口部件,返回真,否则返回假。
注意因为一些窗口系统的一些限制,这样做并不是总能得到所期望的结果(比如,如果在X11上的用户通过窗口管理器最大化这个窗口,Qt并不能把它与其它重定义大小区分开)。这有待于窗口管理器协议的进一步改进。
也可以参考
QWidget::isMinimized () co t
如果这个窗口部件最小化(变为图标了),返回真,否则返回假。详细情况请参考
QWidget::isModal () co t
如果这个窗口部件是模式窗口部件,返回真,否则返回假。详细情况请参考
QWidget::isPopup () co t
如果这个窗口部件是弹出窗口部件,返回真,否则返回假。详细情况请参考
QWidget::isTopLevel () co t
如果这个窗口部件是顶级窗口部件,返回真,否则返回假。详细情况请参考
QWidget::isUpdatesEnabled () co t
如果更新是生效的,返回真,否则返回假。详细情况请参考
QWidget::isVisible () co t
如果这个窗口部件是可视的,返回真,否则返回假。详细情况请参考
QWidget::isVisibleTo ( * ancestor ) co t
ancestor
被显示,这个窗口部件可以变为可视,返回真,否则返回假。
如果这个窗口部件自身或者它的每一个祖先,但是除了
ancestor
以外,已经被明确地指定为隐藏的时候,才是这样的情况。
如果这个窗口部件被屏幕上其它窗口弄得变暗,这个函数仍会返回真,但是如果它或者它们被移动了,它将被变为物理可视的。
()很相似,除了它变为图标的情况或者这个窗口存在与其它虚拟桌面的情况。
也可以参考
QWidget::isVisibleToTLW () co t
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数是被反对的。它等于
QWidget::keyPre Event ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的键盘按下事件。
窗口部件最初必须调用
()来接收焦点并且
用来接收键盘释放事件。
如果你重新实现这个处理器,如果你不能理解这个事件,你就
这个事件,这是很重要的,这样这个窗口部件的父对象就可以说明它。
默认实现是如果用户按下Esc就关闭弹出窗口部件。否则这个事件就被忽略。
也可以参考
中被重新实现。
QWidget::keyReleaseEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的键盘释放事件。
窗口部件最初必须调用
()来接收焦点并且
用来接收键盘释放事件。
如果你重新实现这个处理器,如果你不能理解这个事件,你就
这个事件,这是很重要的,这样这个窗口部件的父对象就可以说明它。
默认实现就是忽略这个事件。
也可以参考
QWidget::keyboardGra er ()
返回当前正在捕获键盘输入的窗口部件的指针。
如果在这个应用程序中当前没有正在捕获键盘的窗口部件,0被返回。
也可以参考
QWidget::layout () co t
返回管理窗口部件孩子的几何形状的布局引擎的指针。
如果这个窗口部件没有布局,
()返回一个零指针。
也可以参考
QWidget::leaveEvent ( * )
[虚 保护]
这个事件管理器可以在子类中被重新实现来接收窗口部件离开事件。
当鼠标光标离开这个窗口部件时,离开事件被发送给这个窗口部件。
也可以参考
QWidget::lower ()
把这个窗口部件降低到它的父窗口部件的栈的底部。
如果在屏幕上有与这个窗口部件重叠的兄弟,这个窗口部件将被它后来的这些兄弟变暗。
也可以参考
QWidget::macEvent ( MSG * )
[虚 保护]
这个特定的事件处理器可以在子类中被重新实现用来接收本地Macintosh事件。
在你重新实现的这个函数中,如果你想停止Qt对这个事件的处理,返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转换为一个Qt事件并且把它发送给这个窗口部件。
这个函数是不可以移植的。
也可以参考
QWidget::mapFrom ( * arent, co t am os ) co t
的坐标系统中的这个窗口部件的坐标
转换到这个窗口部件的坐标系统中。
必须不能为0并且必须是这个调用窗口部件的父对象。
也可以参考
QWidget::mapFromGlobal ( co t am os ) co t
把全局屏幕坐标
转换为窗口部件坐标。
也可以参考
QWidget::mapFromParent ( co t am os ) co t
把父窗口部件坐标
转换为窗口部件坐标。
如果窗口部件没有父对象,就和
()一样。
也可以参考
QWidget::mapTo ( * arent, co t am os ) co t
把窗口部件坐标
坐标系统。
必须不能为0并且必须是这个调用窗口部件的父对象。
也可以参考
QWidget::mapToGlobal ( co t am os ) co t
把窗口部件坐标
转换为全局屏幕坐标。例如,
mapToGlobal(QPoint(0,0))
将会给出这个窗口部件的左上角像素的全局坐标。
也可以参考
QWidget::mapToParent ( co t am os ) co t
把窗口部件坐标
转换为父窗口部件中的一个坐标。
如果窗口部件没有父对象,就和
()一样。
也可以参考
QWidget::maximumHeight () co t
返回这个窗口部件的最大高度。详细情况请参考
QWidget::maximumSize () co t
返回这个窗口部件的最大大小。详细情况请参考
QWidget::maximumWidth () co t
返回这个窗口部件的最大宽度。详细情况请参考
QWidget::metric ( int m ) co t
[虚 保护]
虚函数QPaintDevice::metric()的内部实现。
来替代它。
是要获得的规格。
QWidget::microFocusHint () co t
返回这个窗口部件的当前设置的微焦点提示的当前设置。详细情况请参考
QWidget::minimumHeight () co t
返回这个窗口部件的最小高度。详细情况请参考
QWidget::minimumSize () co t
返回这个窗口部件的最小大小。详细情况请参考
QWidget::minimumSizeHint () co t
返回这个窗口部件的建议最小大小。详细情况请参考
中被重新实现。
QWidget::minimumWidth () co t
返回这个窗口部件的最小宽度。详细情况请参考
QWidget::mouseDoubleClickEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件的鼠标双击事件。
默认实现产生一个普通的鼠标点击事件。
注意在窗口部件得到
()之前,它得到一个
()和一个
也可以参考
QWidget::mouseGra er ()
返回当前捕获鼠标输入的窗口部件的指针。
如果这个应用程序中当前没有捕获鼠标的窗口部件,0被返回。
也可以参考
QWidget::mouseMoveEvent ( * e )
[虚 保护]
这个窗口部件可以在子类中被重新实现来接收这个窗口部件中的鼠标移动事件。
如果鼠标跟踪被切换为关闭,只有在鼠标被按下后移动的情况下,才会发生鼠标移动事件。如果鼠标跟踪被切换为开,即使鼠标没有被按下,只要移动就会发生鼠标移动事件。
()报告鼠标光标相对于这个窗口部件的位置。对于按下和释放事件,这个位置通常和最后一次鼠标移动事件的位置相同,但是如果鼠标非常快地移动和按下,这也许是不同的。这依赖于底层的窗口系统,而不是Qt。
也可以参考
中被重新实现。
QWidget::mousePre Event ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件中的鼠标按下事件。
如果你在
()中创建新的窗口部件,
()也许不会像你所期待的那样结束,这依赖于底层的窗口系统(或X11窗口管理器)、这个窗口部件的位置并且也许更多。
当你再窗口外点击时,默认实现是关闭弹出窗口。对于其它窗口部件类型,它什么都不做。
也可以参考
中被重新实现。
QWidget::mouseReleaseEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收鼠标释放事件。
也可以参考
QWidget::move ( co t am )
设置窗口部件在它的父窗口部件中的位置。详细情况请参考
QWidget::move ( int x, int y )
[虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
) )一致。
QWidget::moveEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件移动事件。当窗口部件接收到这个事件时,它已经在新的位置上了。
旧的位置可以通过
()来访问。
也可以参考
QWidget::ownCursor () co t
如果这个窗口部件使用它自己的光标,返回真,否则返回假。详细情况请参考
QWidget::ownFont () co t
如果这个窗口部件使用它自己的字体,返回真,否则返回假。详细情况请参考
QWidget::ownPalette () co t
如果这个窗口部件使用它自己的调色板,返回真,否则返回假。详细情况请参考
QWidget::paintEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收绘制事件。
绘制事件就是重新绘制这个窗口部件的所有部分的一个请求。它可以是
()的结果,或者因为这个窗口部件原来被变暗并且现在已经不再被覆盖了,或者其它很多原因。
很多窗口部件在当它们被请求时,它们很简单地重新绘制整个界面,但是一些比较慢的窗口部件需要通过仅仅绘制被请求的区域
()进行优化。这个速度优化不会改变结果,在事件处理过程中,绘制仅仅发生在被改变的区域中。例如,
就是这样做的。
Qt也试图通过把多个绘制事件合并为一个来加快绘制速度。当update()被调用几次或者窗口系统发送几次绘制事件,Qt把它们合并为一个比较大区域(请参考
())的一个事件中。repaint()不允许这样优化,所以只要可能我们建议使用update()。
当绘制事件发生,更新区域通常被擦除,所以你正在这个窗口部件的背景上绘制。这里有一些例外并且
()告诉你这个窗口部件是否被擦除。
背景可以通过使用
()来设置。setBackgroundMode()的文档详细描述了背景,我们建议你去读一下。
也可以参考
中被重新实现。
co t am QWidget::palette () co t
返回这个窗口部件的调色板。详细情况请参考
co t am QWidget::paletteBackgroundColor () co t
返回这个窗口部件的背景色。详细情况请参考
QWidget::paletteBackgroundPixmap () co t
返回这个窗口部件的背景像素映射。详细情况请参考
QWidget::paletteChange ( co t am oldPalette )
[虚 保护]
这个虚函数是从
()中被调用的。
oldPalette
是原来的调色板,你可以通过
()得到新的调色板。
如果你的窗口部件需要知道什么时候调色板发生变化了,请重新实现这个函数。
也可以参考
co t am QWidget::paletteForegroundColor () co t
返回这个窗口部件的前景色。详细情况请参考
属性。 *
QWidget::parentWidget ( bool ameWindow = FALSE ) co t
返回这个窗口部件的父窗口部件的指针,如果它没有,就返回零指针。如果
sameWindow
为真并且这个窗口部件是顶级的,就返回0,否则返回它的父窗口部件。
QWidget::polish ()
[虚 槽]
延时窗口部件的初始化。
这个函数将在窗口部件完全创建完毕
并且在它每一次被显示
被调用。
抛光对于依赖一个特定窗口部件的最终初始化是很有用的。有一些事情构造函数不能够决定,因为子类的初始化也许没有完成。
在这个函数之后,窗口部件就有一个适当的字体和调色板并且
()已经被调用。
当重新实现这个函数的时候,记得调用QWidget的实现。
也可以参考
QWidget::pos () co t
返回这个窗口部件在它父窗口部件中的位置。详细情况请参考
QWidget::qwsEvent ( QWSEvent * )
[虚 保护]
这个特定的事件处理器可以在子类中被重新实现来接收本地的Qt/Embedded事件。
在你重新实现的这个函数中,如果你想停止Qt对这个事件的处理,返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转换为一个Qt事件并且把它发送给这个窗口部件。
这个函数是不可以移植的。
也可以参考
QWidget::raise ()
把这个窗口部件升高到它的父窗口部件的栈的顶部。
如果在屏幕上有与这个窗口部件重叠的兄弟,这个窗口部件将在它后来的这些兄弟之前变的可视了。
也可以参考
QWidget::recreate ( * arent, WFlag f, co t am , bool howIt = FALSE )
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数的提供是为了从Qt 1.0移植到2.0。在Qt 2.0中它已经被重新命名为
QWidget::rect () co t
返回不包含任何窗口框架的窗口部件的内部几何形状。详细情况请参考
QWidget::releaseKeyboard ()
释放键盘捕获。
也可以参考
QWidget::releaseMouse ()
释放鼠标捕获。
也可以参考
QWidget::repaint ( int x, int y, int w, int h, bool erase = TRUE )
通过立即调用
()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
为真,Qt在paintEvent()调用之前擦除区域
(x,y,w,h)
是负数,它被
width()-x
替换,并且如果
是负数,它被
height()-y
如果你需要立即重新绘制,我们建议使用
(),比如在动画期间。在绝大多数情况下,
()更好,因为它允许Qt来优化速度并且防止闪烁。
如果你在一个函数中调用repaint(),而它自己又被paintEvent()调用,你也许会看到无线循环。update()函数从来不会产生循环。
也可以参考
QWidget::repaint ()
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本擦除并且重新绘制整个窗口部件。
QWidget::repaint ( bool erase )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本重新绘制整个窗口部件。
QWidget::repaint ( co t am r, bool erase = TRUE )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用
()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
为真,擦除窗口部件区域
QWidget::repaint ( co t am reg, bool erase = TRUE )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用
()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
为真,擦除窗口部件区域
如果你需要立即重新绘制,我们建议使用
(),比如在动画期间。一连串的多次调用update()将产生一个单一的绘制事件。
如果你在一个函数中调用repaint(),而它自己又被paintEvent()调用,你也许会看到无线循环。update()函数从来不会产生循环。
也可以参考
QWidget::reparent ( * arent, WFlag f, co t am , bool howIt = FALSE )
重新定义这个窗口部件的父对象。这个窗口部件得到新的
,新的窗口部件标记(
,但通常使用0)和在新的父对象中的新位置(
为真,一旦窗口部件被重新定义父对象,
()就被调用。
如果新的父窗口部件在一个不同的顶级窗口部件中,被重新定义父对象的窗口部件和它的孩子们将被添加到新窗口部件的
的最后。如果被移动的窗口部件之一拥有
()为这个窗口部件调用
如果新的父窗口部件和原来的父对象在同一个顶级窗口部件中,reparent()不会改变tab顺序或者键盘焦点。
你对这个函数的需要是绝对不必要的。如果你有一个窗口部件动态的改变它的内容,使用
会更容易的多。
也可以参考
QWidget::reparent ( * arent, co t am , bool howIt = FALSE )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
一个方便的重新定义这个窗口部件的父对象的版本没有把窗口部件标记作为参数。
() &am ~
QWidget::resetI utContext ()
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。比如,改变焦点到另一个窗口部件,移动光标,等等。
QWidget::resize ( co t am )
设置不包含任何窗口框架的窗口部件的大小。详细情况请参考
QWidget::resize ( int w, int h )
[虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
) )一致。
QWidget::resizeEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件重定义大小事件。当
()被调用时,这个窗口部件已经有了新的几何形状。原来的大小可以通过
()访问。
这个窗口部件竟被擦除并且在处理重定义大小事件之后立即接收到一个绘制事件。在这个处理器中不需要(或者必须)绘制。
创建的窗口部件将不会被擦除。不过,它们也将收到一个对于整个区域的绘制事件。再一次的,在这个处理器中不需要(或者必须)绘制。
如果窗口部件的
生效,默认实现调用
也可以参考
中被重新实现。
QWidget::scroll ( int dx, int dy )
卷动包括它的孩子的窗口部件,向右
像素并且向下
都可以为负。
在卷动后,
()发送绘制事件,只为了读的部分,但不写。例如,当向右卷动10像素,窗口部件的最左面10像素需要重新绘制。绘制事件也许立即或者稍后被交付,依赖于一些启发式。
也可以参考
QWidget::scroll ( int dx, int dy, co t am r )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本仅卷动
并且不移动窗口部件的孩子。
为空或者无效,结果是未定义的。
也可以参考
QWidget::setAcceptDro ( bool on )
设置对于这个窗口部件放下事件是否生效为
。详细情况请参考
QWidget::setActiveWindow ()
设置包含这个窗口部件的顶级窗口部件为激活窗口。
激活窗口就是拥有键盘输入焦点的可视的顶级窗口。
这个函数执行的操作和在一个顶级窗口的标题栏点击鼠标是一样的。在X11上,结果依赖于窗口管理器。如果你想确认窗口也被堆在顶部,请另外调用
()。注意这个窗口已经被变为可视,除非
()没有效果。
在Windows上,如果当应用程序不是当前激活的应用程序,如果你调用这个函数,然后它不会使它变为激活窗口。它将会在标题栏条目上闪烁蓝色标明这个窗口已经做了些什么。这是由于Microsoft不允许一个应用程序打断用户当前在另一个应用程序上所做的事情。
也可以参考
中被重新实现。
QWidget::setAutoMask ( bool )
设置这个窗口部件自动面具特征是否生效。详细情况请参考
QWidget::setBackgroundColor ( co t am c )
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。使用
()替代它。
QWidget::setBackgroundMode (
设置绘制窗口部件背景所使用的颜色模式。详细情况请参考
QWidget::setBackgroundMode ( m, visual )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置这个窗口部件自己的背景模式为
并且可视背景模式为
。可视背景模式和可设计的属性
backgroundColor
foregroundColor
backgroundPixmap
一起使用。
对于复杂的控制,合理的背景模式有时和窗口部件自己的背景模式不同。例如,微调框把
作为背景模式(通常是暗灰色),当它被嵌入到行编辑控件中使用
(通常是白色)。因为行编辑控件覆盖微调框的绝大部分可视区域,它定义了
背景模式。改变
backgroundColor
属性会改变行编辑控件的背景,这正是用户在
Qt设计器
中所期待的。
QWidget::setBackgroundOrigin (
设置这个窗口部件背景的原点。详细情况请参考
QWidget::setBackgroundPixmap ( co t am m )
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。使用
()替代它。
QWidget::setBaseSize ( co t am )
设置这个窗口部件的基础大小。详细情况请参考
QWidget::setBaseSize ( int asew, int aseh )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
) )一致。设置窗口部件基础大小的宽为
QWidget::setCaption ( co t am )
[虚 槽]
设置窗口标题。详细情况请参考
QWidget::setCursor ( co t am )
设置这个窗口部件的光标形状。详细情况请参考
QWidget::setDisabled ( bool disable )
disable
为真,使窗口部件输入事件失效,否则使输入事件生效。
更多信息请参考
也可以参考
QWidget::setEnabled ( bool )
[虚 槽]
设置这个窗口部件是否生效。详细情况请参考
QWidget::setEraseColor ( co t am color )
设置这个窗口部件的擦除颜色为
擦除颜色就是在
()被调用之前这个窗口部件被清空的颜色。如果有擦除像素映射(使用
()设置),然后这个属性就会有不确定的值。
也可以参考
QWidget::setErasePixmap ( co t am ixmap )
设置这个窗口部件的擦除像素映射为
这个像素映射就是在
()被调用之前用来清空这个窗口部件的。
QWidget::setFixedHeight ( int h )
设置这个窗口部件的最小高度和最大高度都为
,而不改变宽度。为了方便而提供。
也可以参考
QWidget::setFixedSize ( co t am )
设置这个窗口部件的最小大小和最大大小都为
,这样就可以防止它变大或者变小。
也可以参考
QWidget::setFixedSize ( int w, int h )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置窗口部件的宽度为
,高度为
QWidget::setFixedWidth ( int w )
设置这个窗口部件的最小宽度和最大宽度都为
,而不改变高度。为了方便而提供。
也可以参考
QWidget::setFocus ()
[虚 槽]
把键盘输入焦点给这个窗口部件(或者它的焦点代理)。
首先,一个焦点移出事件会被发送给焦点窗口部件(如果有的话)告诉它关于失去焦点的事情。然后一个焦点进入事件被发送给这个窗口部件告诉它刚刚接收到焦点。(如果焦点移出和进入的窗口部件是同一个的话,就什么都没有发生。)
()会把焦点给一个窗口部件,而不管它的焦点策略,但是不会清空任何键盘捕获(请参考
请注意如果窗口部件是被隐藏的,它将不接收焦点。
如果你在一个函数中调用setFocus(),而这个函数自己被
()调用,你也许会体验到无限循环。
也可以参考
QWidget::setFocusPolicy (
设置这个窗口部件接收键盘焦点的方式。详细情况请参考
QWidget::setFocusProxy ( * w )
设置这个窗口部件的焦点代理为窗口部件
为0,这个函数重置这个窗口部件没有焦点代理。
一些窗口部件,比如
,能够“拥有焦点”,但创建一个子窗口部件来实际处理这个焦点。例如,QComboBox创建了一个
来处理焦点。
当“这个窗口部件”获得焦点时,
()设置这个窗口部件实际获得焦点。如果有了一个焦点代理,
()都在这个焦点代理上操作。
也可以参考
QWidget::setFont ( co t am )
设置这个窗口部件的字体当前设置。详细情况请参考
中被重新实现。
QWidget::setFont ( co t am f, bool )
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
& font)替代它。
QWidget::setGeometry ( co t am )
[虚 槽]
设置相对于它的父对象不包括窗口框架的窗口部件的几何形状。详细情况请参考
QWidget::setGeometry ( int x, int y, int w, int h )
[虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这相当于
QWidget::setIcon ( co t am )
[虚 槽]
设置这个窗口部件图标像素映射。详细情况请参考
QWidget::setIconText ( co t am )
[虚 槽]
设置这个窗口部件图标文本。详细情况请参考
QWidget::setKeyCompre ion ( bool compre )
[虚 保护]
compre 为真,使键盘事件压缩生效,并且如果
compre 为假,使键盘事件压缩失效。
默认情况下,键盘压缩是关闭的,所以窗口部件对于每一个键盘按下(或者更多,因为自动重复通常是打开的)都接收到一个键盘按下事件。如果你把它打开并且你的应用程序更不上键盘输入,Qt也许会试图压缩键盘事件,这样每一个事件中就会处理多于一个字符的情况。
例如,如果布局重新运算占用太长时间的CPU,一个字处理器窗口部件接收每一个
()中的2个、3个或更多字符。
如果窗口部件支持多字符unicode输入,它对于这种压缩打开总是安全的。
Qt只对可打印的字符执行键盘事件压缩。修正键、光标移动键、功能键和其它操作键(比如,Escape、Return、Back ace、PrintScreen)将会停止键盘事件压缩,即使如果可以更多可压缩的键盘事件。
并不是所有的平台都支持这种压缩,在这种情况下如果把这个选项打开将不会有任何效果。
也可以参考
QWidget::setMask ( co t am itmap )
导致只有和
中为1的位对应的窗口部件的像素是可视的。如果包含像素的区域在窗口部件的
()之外,在那个区域的窗口系统控制允许可视,也许不可视,依赖于平台。
注意如果区域相当复杂,这种效果会很慢。
也可以参考
QWidget::setMask ( co t am region )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
导致只有和
重合的窗口部件的部分是可视的。如果包含像素的区域在窗口部件的
()之外,在那个区域的窗口系统控制允许可视,也许不可视,依赖于平台。
注意如果区域相当复杂,这种效果会很慢。
也可以参考
QWidget::setMaximumHeight ( int maxh )
设置这个窗口部件的最大高度为
。详细情况请参考
QWidget::setMaximumSize ( co t am )
设置这个窗口部件的最大大小。详细情况请参考
QWidget::setMaximumSize ( int maxw, int maxh )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个函数相当于
) )。设置最大宽度为
,最大高度为
QWidget::setMaximumWidth ( int maxw )
设置这个窗口部件的最大宽度为
。详细情况请参考
QWidget::setMicroFocusHint ( int x, int y, int width, int height, bool text = TRUE, * f = 0 )
[虚 保护]
当窗口部件得到焦点,它应该为合适的大小和位置——
与em>height
,调用setMicroFocusHint。这没有
效果,它仅仅为任意系统指定的输入处理工具提供提示。
如果这是一个文本输入位置,
参数应该为真。
在Windows版本的Qt中,这个方法设置系统插入符号,这用户用户可访问的焦点处理。如果
为真,在远东亚洲语言输入系统中,它也会设置输入法的。
在X11版本的Qt中,如果
为真,这个方法为复杂语言输入处理设置XIM“ ot”点。
字体参数
现在不使用了。
也可以参考
QWidget::setMinimumHeight ( int minh )
设置这个窗口部件的最小高度为
。详细情况请参考
QWidget::setMinimumSize ( co t am )
设置这个窗口部件的最小大小。详细情况请参考
QWidget::setMinimumSize ( int minw, int minh )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个函数相当于
(minw, minh) )。设置最小宽度为
,最小高度为
QWidget::setMinimumWidth ( int minw )
设置这个窗口部件的最小宽度为
。详细情况请参考
QWidget::setMouseTracking ( bool enable )
[虚 槽]
设置对于这个窗口部件鼠标跟踪是否生效为
。详细情况请参考
QWidget::setPalette ( co t am )
设置这个窗口部件的调色板。详细情况请参考
中被重新实现。
QWidget::setPalette ( co t am , bool )
这个函数是废弃的。
它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
& p )替代它。
QWidget::setPaletteBackgroundColor ( co t am )
设置这个窗口部件的背景色。详细情况请参考
QWidget::setPaletteBackgroundPixmap ( co t am )
设置这个窗口部件的背景像素映射。详细情况请参考
QWidget::setPaletteForegroundColor ( co t am )
设置这个窗口部件的前景色。详细情况请参考
QWidget::setSizeIncrement ( co t am )
设置这个窗口部件的大小增量。详细情况请参考
QWidget::setSizeIncrement ( int w, int h )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置x(宽度)大小增量为
,y(高度)大小增量为
QWidget::setSizePolicy (
设置这个窗口部件的默认布局方式。详细情况请参考
QWidget::setStyle ( * tyle )
设置这个窗口部件的图形用户界面风格为
。风格对象的所有权不能被转让。
如果没有风格被设置,这个窗口部件使用应用程序的风格
()替代它。
设置窗口部件的风格对于已经存在或未来的子窗口部件没有效果。
当你想显示Qt的风格的能力时,这个函数对于演示目的很有用。真正的应用程序应该避免它并且使用一个一致的图形用户界面风格来替代它。
也可以参考
QWidget::setStyle ( co t am tyle )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置这个窗口部件的图形用户界面风格为
QWidget::setTabOrder ( * first, * econd )
在焦点窗口部件的环中移动
窗口部件,这样当Tab被按下时,
窗口部件移动到
窗口部件。
注意因为
窗口部件的tab顺序被改变,你应该用链的方式安排顺序:
( a, b ); // a到b
( b, c ); // a到b到c
( c, d ); // a到b到c到d
像这样:
( c, d ); // c到d,错误
( a, b ); // a到b并且c到d
( b, c ); // a到b到c,而不是c到d
有焦点代理,
()替代它/它们的代理。
也可以参考
QWidget::setUpdatesEnabled ( bool enable )
[虚 槽]
设置更新是否生效为
。详细情况请参考
QWidget::setWFlags ( WFlag f )
[虚 保护]
设置窗口部件标记为
窗口部件标记为
的组合。
也可以参考
QWidget::show ()
[虚 槽]
显示这个窗口部件和它的子窗口部件。
如果它的大小或位置已经发生改变,Qt保证窗口部件正好在被显示之前得到移动和重定义大小事件。
你几乎不用重新实现这个函数。如果你需要在一个窗口部件被显示之前改变一些东西,请使用
()替代它。如果你需要对初始化延时,请使用
也可以参考
中被重新实现。
QWidget::showEvent ( * )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件显示事件。
在窗口部件被显示之前,非自发显示事件立即被发送给窗口部件。顶级窗口部件的自发显示事件在这之后被交付。
也可以参考
QWidget::showFullScreen ()
用全屏模式显示这个窗口部件。
调用这个函数只有对顶级窗口部件有效。
为了从全屏模式返回,请调用
全屏模式在Windows下工作的非常好,但是在X下却有些问题。这些问题是由于指定X11客户端和窗口管理器之间通讯的ICCCM协议的限制。ICCCM很简单地不能理解无装饰的全屏模式窗口这一概念。因此,我们所能做的最好方式是请求一个无边框窗口并且放置和重定以它的大小为整个屏幕。依赖窗口管理器,这也许能工作,也许不能。无边框窗口使用MOTIF提示被请求,至少可以被实际存在地所有现代窗口管理器能够部分支持。
另一个方法是绕过整个窗口管理器并且使用WX11Bypa WM标记创建一个窗口。尽管这样还会有其它一些问题,比如完全地破坏
和当桌面变化时或用户升起其它窗口时会有非常奇怪的效果。
遵循现代的后ICCCM规范的未来X11窗口管理器也许能够完全地支持全屏模式。
也可以参考
QWidget::showMaximized ()
[虚 槽]
最大化显示这个窗口部件。
的,调用这个函数没有任何效果。
在X11下,这个函数在特定窗口管理器下允许不能正常工作。关于为什么的详细情况请参考
也可以参考
QWidget::showMinimized ()
[虚 槽]
最小化显示这个窗口为一个图标。
的,调用这个函数没有任何效果。
也可以参考
QWidget::showNormal ()
[虚 槽]
在窗口部件被最大化或最小化之后,恢复它。
的,调用这个函数没有任何效果。
也可以参考
QWidget::size () co t
返回不包含任何窗口框架的窗口部件的大小。详细情况请参考
QWidget::sizeHint () co t
返回建议的窗口部件大小。详细情况请参考
中被重新实现。
QWidget::sizeIncrement () co t
返回窗口部件的大小增量。详细情况请参考
QWidget::sizePolicy () co t
返回窗口部件的默认布局行为。详细情况请参考
QWidget::stackUnder ( * w )
把窗口部件放在父窗口部件栈中
的下面。
为了保证这个能工作,这个窗口部件自己和
必须是兄弟。
也可以参考
()。 am QWidget::style () co t
返回这个窗口部件的图形用户界面的风格。
也可以参考
QWidget::styleChange ( am oldStyle )
[虚 保护]
当窗口部件的风格发生变化时,这个虚函数被调用。
oldStyle
是原来的图形用户界面风格,你可以通过
()得到新的风格。
如果你的窗口部件需要知道什么时候它的图形用户界面发生变化,请重新实现这个函数。你几乎必然需要使用
()来更新窗口部件。
默认实现是更新包括几何形状的窗口部件。
也可以参考
QWidget::tabletEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件的写字板事件。
如果你重新实现这个处理器,如果你不处理它的话,你
这个事件是非常重要的,这样这个窗口部件的父对象就可以解释它。
默认实现是忽略这个事件。
也可以参考
QWidget::testWFlags ( WFlag f ) co t
返回这个窗口部件的标记和
的位与(AND)运算结果。
窗口部件标记是
的组合。
也可以参考
QWidget::topLevelWidget () co t
返回这个窗口部件的顶级窗口部件,比如,有(或者能够有)窗口系统框架的上一级祖先。
如果这个窗口部件是顶级的,它自己被返回。
通常的使用方法是改变窗口标题:
aWidget-topLevelWidget()-> etCaption( "New Caption" );
也可以参考
QWidget::u etCursor ()
重置这个窗口部件的光标形状。详细情况请参考
QWidget::u etFont ()
重置这个窗口部件的字体当前设置。详细情况请参考
QWidget::u etPalette ()
重置这个窗口部件的调色板。详细情况请参考
QWidget::update ()
更新窗口部件,除非更新已经失效或者窗口部件被隐藏。
这个函数不会导致一个立刻的重新绘制——更正确的是,当Qt回到主事件回路中时,它规划了所要处理的绘制事件。这样允许Qt来优化得到比调用
()更快的速度和更少的闪烁。
几次调用
()的结果通常仅仅是一次
()调用。
Qt通常在paintEvent()调用之前擦除这个窗口部件的区域。仅仅只有在WRepaintNoErase
被设置的时候,窗口部件本身对绘制它所有的像素负有责任。
也可以参考
QWidget::update ( int x, int y, int w, int h )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
更新窗口部件中的矩形(
),除非更新已经失效或者窗口部件被隐藏。
这个函数不会导致一个立刻的重新绘制——更正确的是,当Qt回到主事件回路中时,它规划了所要处理的绘制事件。这样允许Qt来优化得到比调用
()更快的速度和更少的闪烁。
几次调用
()的结果通常仅仅是一次
()调用。
为负数,它被
width()-x
替换。如果
为负数,它被
height()-y
Qt通常在paintEvent()调用之前擦除这个窗口部件的区域。仅仅只有在WRepaintNoErase
被设置的时候,窗口部件本身对绘制它所有的像素负有责任。
也可以参考
QWidget::update ( co t am r )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
更新窗口部件中的矩形
,除非更新已经失效或者窗口部件被隐藏。
这个函数不会导致一个立刻的重新绘制——更正确的是,当Qt回到主事件回路中时,它规划了所要处理的绘制事件。这样允许Qt来优化得到比调用
()更快的速度和更少的闪烁。
几次调用
()的结果通常仅仅是一次
()调用。
QWidget::updateGeometry ()
把这个窗口部件已经改变并且也许需要改变几何形状通告给布局系统。
()已经发生变化,请调用这个函数。
对于明确隐藏的窗口部件,
()是没有操作的。只要这个窗口部件一显示出来,布局系统就将被通告。
QWidget::updateMask ()
[虚 保护]
这个函数可以在子类中被重新实现来支持透明窗口部件。只要窗口部件改变状态,形状面具不得不被重新计算,它就会被调用。
也可以参考
QWidget::visibleRect () co t
返回窗口部件的当前可见矩形。详细情况请参考
QWidget::wheelEvent ( * e )
[虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件的滚轮事件。
如果你重新实现这个处理器,如果你不处理它的话,你
这个事件是非常重要的,这样这个窗口部件的父对象就可以解释它。
默认实现是忽略这个事件。
也可以参考
QWidget::width () co t
返回不包含任何窗口框架的窗口部件宽度。详细情况请参考
QWidget::winEvent ( MSG * )
[虚 保护]
这个特定事件处理器可以在子类中被重新实现来接收本地Windows事件。
在重新实现的这个函数中,如果你想停止Qt对这个事件的处理,请返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转化为一个Qt事件并且把它发送给这个窗口部件。
这个函数不能移植。
也可以参考
QWidget::winId () co t
返回窗口部件的窗口系统标识符。
原则上是可以移植的,但是如果使用了它,一定是做了一些不可移植的事情。请留心。
也可以参考
QWidget::windowActivationChange ( bool oldActive )
[虚 保护]
当窗口部件的窗口被窗口系统激活或者停用,这个虚函数被调用。
oldActive
是原来的状态,你可以通过
()得到新的设置。
如果你的窗口部件需要知道什么时候它的窗口变为激活或停用,请重新实现这个函数。
如果停止和激活颜色组不同与高亮和连接颜色,默认实现更新这个窗口部件的可视部分。
也可以参考
QWidget::x () co t
返回包括任何窗口框架的相对于它的父窗口部件的这个窗口部件的x坐标。详细情况请参考
QWidget::x11Event ( XEvent * )
[虚 保护]
这个特定事件处理器可以在子类中被重新实现来接收本地X11事件。
在重新实现的这个函数中,如果你想停止Qt对这个事件的处理,请返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转化为一个Qt事件并且把它发送给这个窗口部件。
这个函数不能移植。
也可以参考
中被重新实现。
QWidget::y () co t
返回包括任何窗口框架的相对于它的父窗口部件的这个窗口部件的y坐标。详细情况请参考
属性文档
acceptDro 这个属性保存的是窗口部件中放下事件是否有效。
设置这个属性为真告诉系统这个窗口部件
能够接收放下事件。
如果窗口部件是桌面(
()),如果其它应用程序正在使用桌面,这也许会失败,你可以调用
()来测试这种情况是否发生。
()可以设置属性值并且通过
()来获得属性值。
autoMask
这个属性保存的是窗口部件中自动面具特征是否有效。
透明窗口部件使用面具来定义它们的可视区域。QWidget有一些内置的支持可以使重新计算面具的任务更容易。当设置自动面具为真,只要窗口部件改变大小或者改变它的焦点状态
()就将会被调用。注意你必须重新实现updateMask()(其中应该包含一个
()的调用)或者什么都不会发生。
注意:当你在你的自定义窗口部件中被重新实现
()时并且还想确认自动面具计算工作,你应该在你的事件处理函数的后面添加:
对于所有改变窗口部件的外观,都需要一个重新计算的面具,这都是真的。
虽然面具是一个技术上很吸引人的概念,但是他有一个很大的缺点:当使用复杂的不能被很容易地使用相对简单的区域表达的面具时,它们在一些窗口系统中很慢。经典的实例就是透明的标签。它的内容的复杂形状使它需要用一个位图重新描述它的面具,这将会消耗内存和事件。如果你想让几个临近的窗口部件的背景没有缝隙的融合在一起,你也许想使用的是
(),而不是面具。
也可以参考
()可以设置属性值并且通过
()来获得属性值。
backgroundBrush
这个属性保存的是窗口部件的背景画刷。
背景画刷依赖于窗口部件的调色板和它的背景模式。
也可以参考
()来获得属性值。
backgroundMode
这个属性保存的是绘制窗口部件背景所使用的颜色模式。
setPaletteBackgroundColor()读取这个属性来决定
中的哪一个被设置。
对于绝大多数出口部,默认的就足够了(
,通常是灰色),但是一些需要使用
(文本输出的背景,通常是白色)或者其它模式。
并且为了和它的环境形成对照使用基本色,在构造函数中这样做:
对于Qt内置的窗口部件,你永远都不需要为它们设置背景模式,但是你也许需要在你的自定义窗口部件中考虑设置一下,这样
()就可以像被期待地那样工作。
注意对于
()中的两个背景模式值,名为
,没有什么意义。你必须调用
()和setPaletteBackgroundColor()来替代。
()可以设置属性值并且通过
()来获得属性值。
backgroundOrigin
这个属性保存的是窗口部件的背景的原点。
这个原点是WidgetOrigin(默认)、ParentOrigin和WindowOrigin其中之一。
只有在窗口部件有一个背景像素映射,对于定位有所不同。使用WindowOrigin,临近的几个窗口部件的背景会融合的很好好像没有缝隙一样。
也可以参考
()设置属性值并且通过
()来获得属性值。
baseSize
这个属性保存的是窗口部件的基础大小。
如果窗口部件定义了
(),基础大小就被用来计算一个确切的窗口部件大小。
也可以参考
()设置属性值并且通过
()来获得属性值。
caption
This property holds the window caption (title).
这个属性保存的是窗口标题。
这个属性只对顶级窗口部件有用。如果没有标题被设置,标题就为
也可以参考
()可以设置属性值并且通过
()来获得属性值。
childrenRect
这个属性保存的是窗口部件的子对象的边界矩形。
隐藏的子对象除外。
也可以参考
()来获得属性值。
childrenRegion
这个属性保存的是窗口部件的子对象所占用的组合区域。
隐藏的子对象除外。
也可以参考
()来获得属性值。
colorGroup
This property holds the current color group of the widget palette.
这个属性保存的是窗口部件调色板的当前颜色组。
颜色组由窗口部件的状态决定。一个失效的窗口部件是
()颜色组,一个有
的窗口部件是
()颜色组,一个停止的窗口部件是
()颜色组。
也可以参考
()来获得属性值。
这个属性保存的是窗口部件的光标外形。
当鼠标在窗口部件之上时,鼠标光标将采用这个外形。对于可以使用的外形的范围请参考
一个编辑器窗口部件也许使用I形光标:
如果没有光标被设置,或者在调用
()之后,父对象的光标被使用。函数u etCursor()对于顶级窗口部件没有效果。
也可以参考
()设置属性值,通过
()来获得属性值并且通过
()重置属性值。
customWhatsThis
这个属性保存的是窗口部件是否手动处理“这是什么”的帮助。
()的默认实现返回假,这也就是说窗口部件在“这是什么”状态将不接受任何事件。
通过调用
(),不管有没有任何实际显示的帮助文本,窗口部件会离开“这是什么”模式。
如果你的窗口部件是一个“被动的内部行动者”,假设在所有环境下工作时,你也许要重新实现customWhatsThis()。
也可以参考
()来获得属性值。
enabled
这个属性保存的是窗口部件是否有效。
一个有效的窗口部件接收键盘和鼠标事件,一个失效的窗口部件不能。实际上,有效的窗口部件只有在它处于焦点时才接收键盘事件。
一些窗口部件当它们被失效的时候,显示得不同。例如,一个按钮也许把它的标签变灰。如果你的窗口部件需要知道它什么时候生效或失效,你可以重新实现
()函数。
使一个窗口部件失效就隐含地使它所有的子对象失效。使一个窗口部件生效就会逐个把它的子窗口部件生效,除非它们被明确地失效。
也可以参考
()设置属性值并且通过
()来获得属性值。
这个属性保存的是窗口部件(或者它的焦点代理)是否得到键盘输入焦点。
实际上等价于
qA -focusWidget() == this
也可以参考
()、a href="#clearFocus">clearFocus
()来获得属性值。
focusEnabled
这个属性保存的是窗口部件是否接收
键盘焦点初始状态是失效的(比如,
() == QWidget::NoFocus)。
如果一个窗口部件处理键盘事件,你必须为它使键盘焦点生效。这通常在窗口部件的构造函数中完成。例如,
的构造函数调用
(QWidget::StrongFocus)。
也可以参考
()来获得属性值。
focusPolicy
这个属性保存的是窗口部件接收
的策略。
如果窗口部件通过tab来接收键盘焦点,这个策略就是QWidget::TabFocus;如果窗口部件通过点击来接收键盘焦点,这个策略就是QWidget::ClickFocus;如果窗口部件上述两种方式都使用,是QWidget::StrongFocus;并且如果它不接收焦点(QWidget的默认值),是QWidget::NoFocus。
如果一个窗口部件处理键盘事件,你必须为它使键盘焦点生效。这通常在窗口部件的构造函数中完成。例如,
的构造函数调用
(QWidget::StrongFocus)。
也可以参考
()设置属性值并且通过
()来获得属性值。
这个属性保存的是窗口部件当前的字体集。
()函数报告这个窗口部件所用的实际字体。
只要没有特定字体被设置,或者在
()被调用之后,那么这个窗口部件类使用父窗口部件的字体或者(如果这个窗口部件是顶级窗口部件)使用默认应用程序字体。
这段代码设置12点的helvetica粗字体:
f( "Helvetica", 12, QFont::Bold );
另外设置字体时,
()通知所有子对象关于这个变化。
也可以参考
()设置属性值,通过
()来获得属性值并且通过
()重置属性值。
frameGeometry
这个属性保存的是相对于它的父对象包含任何窗口框架的窗口部件的几何形状。
对于顶级窗口部件的几何形状的概述请参考
也可以参考
、a href="#y-prop">y
()来获得属性值。
frameSize
这个属性保存的是包含任何窗口框架的窗口部件的大小。
()来获得属性值。
geometry
这个属性保存的是相对于它的父对象不包括窗口框架的窗口部件的几何形状。
当窗口部件改变几何形状时,如果它是可视的,它立即接收到一个移动事件(
())和/或一个重定义大小(
())。如果它当前不是可视的,它被保证会在被显示之前接收到适当的事件。
如果它在由
()定义的范围之外,大小组件被调整。
()是虚的,并且所有Qt中其它重载setGeometry()的重新实现调用它。
在resizeEvent()或moveEvent()中调用setGeometry()会导致无限循环。
对于顶级窗口部件的几何形状的概述请参考
也可以参考
()设置属性值并且通过
()来获得属性值。
这个属性保存的是不包括窗口框架的窗口部件的高度。
对于顶级窗口部件的几何形状的概述请参考
也可以参考
()来获得属性值。
这个属性保存的是窗口部件是否明确地隐藏。
如果为假,这个窗口部件是可视的或者如果它的所有祖先变为可视,它将变为可视的。
也可以参考
()来获得属性值。
这个属性保存的是窗口部件图标像素映射。
这个属性只对顶级窗口部件有效。如果没有图标被设置,
()返回0。
也可以参考
()设置属性值并且通过
()来获得属性值。
iconText
这个属性保存的是窗口部件图标文本。
这个属性只对顶级窗口部件有效。如果没有图标文本被设置,这个函数返回
也可以参考
()设置属性值并且通过
()来获得属性值。
isActiveWindow
这个属性保存的是窗口部件或者它的一个子对象是否是活动窗口。
活动窗口是有
当弹出窗口是可视的,这个属性对于活动窗口
这个弹出窗口都是真。
也可以参考
()来获得属性值。
isDesktop
这个属性保存的是窗口部件是否是桌面窗口部件,比如,代表桌面。
一个桌面窗口部件也是顶级窗口部件。
也可以参考
()来获得属性值。
isDialog
这个属性保存的是窗口部件是否是对话框窗口部件。
对话框窗口部件是次要的顶级窗口部件,比如一个有父对象的顶级窗口部件。
也可以参考
()来获得属性值。

参考资料