资源描述
QWorkspace类参考
QWorkspace窗口部件提供了可以包含内部窗口(例如,多文档界面)的工作区窗口。 详情请见……
#include <qworkspace.h>
继承了QWidget。
所有成员函数的列表。
公有成员
· QWorkspace ( QWidget * parent = 0, const char * name = 0 )
· ~QWorkspace ()
· QWidget * activeWindow () const
· QWidgetList windowList () const
· bool scrollBarsEnabled () const
· void setScrollBarsEnabled ( bool enable )
公有槽
· void cascade ()
· void tile ()
信号
· void windowActivated ( QWidget * w )
属性
· bool scrollBarsEnabled - 工作区是否提供滚动条
详细描述
QWorkspace窗口部件提供了可以包含内部窗口(例如,多文档界面)的工作区窗口。
Windows 应用程序是以图形用户界面(GUI)为基础的,基本形式有两种:单文档界面(SDI,即 Single Document Interface)和多文档界面(MDI,即Multiple Document Interface)。
单文档界面(SDI)同时只能打开一个文档,如记事本,只能同时编辑一个文本文件,想要打开另一个文档就必须关闭已打开的文档。
多文档界面(MDI)可以同时打开多个文档,每个文档都出现在自己的窗口中。像Word和Excel等程序使用的就是多文档界面文档。多文档界面应用程序的一个重要标志就是设有“窗口”菜单。
在多文档界面(MDI)应用程序中,可以同时显示多个文档,每个文档显示在自己的窗口中。文档窗口包含在父窗口内,,并为所有的文档子窗口提供操作的空间。例如在Word中,可以建立和显示多个不同类型的文档窗口,每个窗口都被限制在Word的父窗口区域内。由此可见,以个多文档界面(MDI)应用程序可以包含三类窗体,即普通窗体(标准窗体)、多文档界面(MDI)父窗体和多文档界面(MDI)子窗体。
一个应用程序可以包含许多类似或者不同样式的多文档界面(MDI)子窗体,在设计阶段,子窗体是独立的,并不被限制在多文档界面(MDI)父窗体的区域内,可以在子窗体增加控件、设置属性、编写代码。也就是说,在设计阶段的多文档界面(MDI)子窗体和标准窗体没有区别。
一个多文档界面(MDI)应用程序有一个带菜单条的主窗口。这个窗口的中央窗口部件就是一个工作区。工作区自己包含零个、一个或多个文档窗口,每个窗口显示一个文档。
工作区自己是一个普通Qt窗口部件。它有一个带父窗口部件和对象名称的标准构造函数。父对象通常使用QMainWindow,但也可以不是。
文档窗口(也就是多文档界面窗口)也是普通的Qt窗口部件,它们有一个工作区作为父窗口部件。当你在一个文档窗口上调用show()、hide()、showMaximized()、setCaption()等等,它被按你所期望的有一个框架、标题、图标和图标文本来显示、隐藏等等。你可以提供窗口部件标记来用于修饰的布局或者窗口部件自身的行为。
为了改变多文档窗口的几何形状,让这个函数调用这个窗口部件的parentWidget()是需要的,因为它将会移动或者重新定义内部窗口的大小。
当一个文档窗口获得键盘焦点时,它被激活了。你可以使用setFocus()来激活它,并且用户可以用普通的移动焦点的方式来激活它。当工作区检测到激活变化时,它发射一个windowActivated()信号,并且activeWindow()函数总是返回活动的文档窗口的指针。
方便的windowList()函数返回所有的文档窗口的列表。例如,这对于在空中创建一个弹出菜单“Windows”是很有用的。
QWorkspace提供了两个内置的对子窗口的布局策略:cascade()和tile()。这两个都是槽,这样你就可以很容易地把菜单项和它们连接起来了。
如果你想让用户能够把工作的文档窗口设置的比实际工作区还大,请把scrollBarsEnabled属性设置为真。
如果顶级窗口包含一个菜单条和一个最大化的文档窗口,QWorkspace会把文档窗口的最小化、恢复和关闭按钮从文档窗口的框架上移到工作区窗口的菜单条中。然后它会在菜单条的最左面插入一个窗口操作菜单。
也可以参考主窗口和相关类和组织者。
成员函数文档
QWorkspace::QWorkspace ( QWidget * parent = 0, const char * name = 0 )
构造一个父对象为parent、名称为name的工作区。
QWorkspace::~QWorkspace ()
销毁这个工作区并且释放所有已分配的资源。
QWidget * QWorkspace::activeWindow () const
返回活动窗口,或者如果没有窗口是活动的,返回0。
实例:mdi/application.cpp。
void QWorkspace::cascade () [槽]
层叠模式排列所有子窗口。
也可以参考tile()。
实例:mdi/application.cpp。
bool QWorkspace::scrollBarsEnabled () const
如果工作区提供滚动条,返回真,否则返回假。详细情况请参考“scrollBarsEnabled”属性。
void QWorkspace::setScrollBarsEnabled ( bool enable )
设置工作区是否提供滚动条为enable。详细情况请参考“scrollBarsEnabled”属性。
void QWorkspace::tile () [槽]
平铺模式排列所有子窗口。
也可以参考cascade()。
实例:mdi/application.cpp。
void QWorkspace::windowActivated ( QWidget * w ) [信号]
当窗口部件w变为活动时,这个信号被发射。注意w可以为零,并且对于一个激活事件可能有超过一个的信号被发射。
也可以参考activeWindow()和windowList()。
QWidgetList QWorkspace::windowList () const
返回所有窗口的列表。
实例:mdi/application.cpp。
属性文档
bool scrollBarsEnabled
This property holds whether the workspace provides scrollbars. 这个属性保存的是工作区是否提供滚动条。
如果这个属性被设置为真,那么重定义子窗口的大小超过工作区的可视区域的右或下边缘是可能的。工作区显示这些滚动条使用户能够访问这些窗口。如果这个属性被设置为假(默认),定义子窗口的大小超过工作区的可视区域的右或下边缘是不被允许的。
通过setScrollBarsEnabled()设置属性值并且通过scrollBarsEnabled()来获得属性值。
展开阅读全文