QT中QWidget类参考!(19)
2023-06-03 来源:旧番剧
这里还有一些不太明显的事件。它们在qevent.h中被列出并且你需要重新实现event()来处理它们。event()的默认实现处理Tab和Shift Tab(移动键盘焦点)并且其它绝大多数事件给上面提到的一个或更多的特定处理器。
当实现一个窗口部件时,还有一些更多的事情要考虑。
在构造函数中,在你可能收到一个事件的任何机会之前,请确认尽早地设置你的成员变量。
重新实现sizeHint()在绝大多数情况下都是很有用的并且使用setSizePolicy(),来设置正确的大小策略,这样你的同事可以更容易地设置布局管理器。一个大小策略可以让你为布局管理器提供好的默认情况,这样其它窗口部件可以很容易地包含和管理你的窗口部件。sizeHint()为这个窗口部件说明一个“好的”大小。
如果你的窗口部件是一个顶级窗口部件,setCaption()和setIcon()分别设置标题栏和图标。
也可以参考QEvent、QPainter、QGridLayout、QBoxLayout和抽象窗口部件类。
成员类型文档
QWidget::BackgroundOrigin
这个枚举变量定义了用于绘制窗口部件背景像素映射的原点。
被绘制的像素映射使用:
QWidget::WidgetOrigin - 窗口部件的坐标系统。
QWidget::ParentOrigin - 父窗口部件的坐标系统。
QWidget::WindowOrigin - 顶级窗口的坐标系统。
QWidget::FocusPolicy
这个枚举变量定义了一个窗口部件获得键盘焦点所依据的不同策略。
policy可以是:
QWidget::TabFocus - 窗口部件通过Tab获得焦点。
QWidget::ClickFocus - 窗口部件通过点击获得焦点。
QWidget::StrongFocus - 窗口部件通过Tab和点击获得焦点。
QWidget::WheelFocus - 像StrongFocus那样加上窗口部件通过使用鼠标滚轮获得焦点。
QWidget::NoFocus - 窗口部件不接收焦点。
成员函数文档
QWidget::QWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )