关键词不能为空

当前您在: 主页 > 英语 >

QMdiArea

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-22 17:23
tags:

-

2021年2月22日发(作者:lal)


QMdiArea




#include


用于提供多窗口文 档


(MDI)


的显示区域。继承自


QA bstractScrollArea


类。


< br>来自


Qt


的官方说法是,


QWo rkspace


是被废弃的类,它的存在就是为了使采用以前版本的

Qt


开发的程序能够正常运行。


所以,

如果你使用的是


Qt4.5


及以后的版本,


我们强烈建议你


使用


QMdiArea


来创建


MDI


应用程序。



1


、详细描述



在创建


MDI


应用程序时,


QMdi Area


类的实例通常被用作主窗口的中心窗口部件,


但也可以


被放置于一个布局中。实际上,


QMdiArea



MDI


应用程序的窗口管理器。它建立、绘制、< /p>


管理在它之上的子窗口,并可采用层叠或者平铺的方式排列它们。



下面的代码将一个区域的主窗口:



QMainWindow *mainWindow = new QMainWindow;


mainWindow->setCentralWidget(mdiArea);


有别于窗口管理器的顶层窗口,


QMdiArea


支持所有窗口的标志(


QT:: WindowFlags

< br>)


,只要



< br>被

























< br>口







WindowShadeButtonHint



,你仍然可以使用


showShaded()


来隐藏窗口风格。



QMdiArea



QMdiSubWindow


,前者 主要用于创建程序主窗口的中心窗口部件,后者


用于创建主窗口的各个子窗口。具体的做 法是把



QMdiArea


类的实例作 为主窗口的中心部


件,把


QMdiSubWindow


类的实例作为子窗口,并由


QMdiArea


实 现对多个子窗口的管理。



QMdiSubWindow


继承自


QWidget


,它的作用是为


QMdiArea


创建子窗口。它代表了在


Q MdiArea


中创建的顶层窗口。它主要包含一个标题栏、一个内部窗口


(Internal Widget)


、一


个窗口框 架和一个大小控制手柄。


QMdiSubWindow


有自己的 布局


(Layout),


在其中包含窗口


标题栏以及内部窗口的中心窗口区域。



QMdiArea< /p>


是所有子窗口的容器和管理器,


QMdiArea


中的子窗口都是


QMdiSubWindow


类的实例 。我们通过


addSubWindow()


方法把它们加入到< /p>


MDI


应用程序中。使用时,通常先


建立 一个


QWidget


或其子类的实例,然后把它作为参数调用< /p>


addSubWindow()


函数,


a ddSubWindow()




将< /p>









< p>
















于< /p>


QMdiSubWindow



QWid get


的子类,


所以你可以像使用以前我们介绍过的常见顶层窗 口那



使












QWidget



show(),


hide(),


showMaximized(),




setWindowTitle()


等方法对窗口实例进行设置。









QMdiSubWindow


< br>建

















addSu bWindow(widget)



其中


widget


参数将作为内部窗口部件;


另一种是先创建一个 继承自


QWidget


的窗口实例,


然 后调用


setWidget(QWidget*widget)


方法,



widget


作为子窗口的内


部窗口部件即可,这个内部窗口部件将被显示在子窗口的中心区域。注意,


QMdiArea


会对


其内部的子窗口进行管理,你 不必使用代码显式的管理它们。



新建一个子窗口类,它可派生 自


QWidget


或其子类,比如


QT extEdit


。这个类的实例将


作为子窗口的内部窗口部件。


这个子窗口类的创建与我们前面讲到的子类化对话框和子类化


Q Widget


的方法相同,只是它没有菜单栏、工具栏和状态栏。另外记得在主窗口的头 文件中


加入该子窗口类的声明。



注意 :


QMdiArea


默认的滚动条属性是


Qt:: ScrollBarAlwaysOff




2


、成员类型文档



enum QMdiArea::AreaOption


flags QMdiArea::AreaOptions


这个枚举描述选项定制


QMdiArea


的行为。



QMdiArea::DontMaximizeSubWindowOn Activation


0x1


当活动的子窗口最大化时,< /p>


默认的行


为是被激活的下一个子窗口也被最


大化。


如果你不希望出现此行为,



置这个选项。



enum QMdiArea::ViewMode


这个枚举变量描述了区域的视图模式


;


即子窗口将被如何显示。



QMdiArea::SubWindowView


QMdiArea::TabbedView


enum QMdiArea::WindowOrder


0


1


显示带有窗框的子窗口(默认)



只显示标签栏的子窗口



指定标准用于 返回按


subWindowList()


排序的子窗口列表。函 数


cascadeSubWindows()



tileSubWindows()


安排窗口时遵循这个顺序。



QMdiArea::CreationOrder


QMdiArea::StackingOrder


0


1


窗口按照其创建的顺序返回



窗口按照它们被叠放的顺序返回,最顶层的窗口在


列表的最后



窗口按照其被激活的顺序返回



QMdiArea::ActivationHistoryOrder


2


3


、属性文档



activationOrder : WindowOrder


这个属性保存标准排序的子窗口列表。




此属性指定标准排序将使用在由


su bWindowList


()返回的子窗口的列表中。默认情况下,

它是窗口创建顺序。



background : QBrush


这个属性保存的工作区的背景。



此属性为工作区设置背景。


默认情况下,


它是一个灰 色的颜色,


但也可以是任意


(如:


颜色 ,


渐变或像素映射)




documentMode : bool


这个属性保存的标 签栏在选项卡式视图模式是否设置为文件的模式



文档模式默认情况下禁用。



tabPosition : QTabWidget::TabPosition < /p>


(当


viewMode



TabbedView


时)设置标签所在方向



此属性的可能值由


QTabWidget:: TabPosition


枚举描述



tabShape : QTabWidget::TabShape


这个属性保存在索引视图模式选项卡的形状。




(当


viewMode



TabbedView


时)


设置该


MdiArea


的标签形式


Q t


提供两种选择:


Rounded(


圆 ,


默认


)



T riangular(


三角形


)

-


-


-


-


-


-


-


-



本文更新与2021-02-22 17:23,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/669494.html

QMdiArea的相关文章