QMdiArea类的说明与使用

QMdiArea的属性:

QMdiArea显示子窗口有两种模式:子窗口模式和多页模式;

函数setViewMode()用于设置子窗口显示模式:其函数原型定义如下:

void QMdiArea::setViewMode(QMdiArea::ViewMode mode)
参数mode是枚举类型QMdiArea::ViewMode,其包含两个枚举量:
①:QMdiArea::SubWindowView  表示子窗口模式
②:QMdiArea::TabbedView     表示多页模式,多页模式中,QMdiArea组件的tabsClosable属性为true,页标题栏上会显示一个关闭按钮

QMdiArea的接口函数:

(1) addSubWindow()  用于添加用户创建的一个子窗口

QMdiSubWindow *QMdiArea::addSubWindow(QWidget *widget,Qt::WindowFlags=Qt::WindowsFlags())
其中:参数widget是已创建的用户子窗口的对象,Windows是窗口标志;

//创建子窗口,并将其添加到MDI子窗口管理器的示意代码如下:
fromDoc=new TFormDoc(this);
ui->mdiArea->addSubWindow(formDoc);

(2) activeSubWindow() 返回当前活动子窗口的指针

QMdiSubWindow *QMdiArea::activeSubWindow()
可以使用QMdiSubWindow::widget()返回用户窗口对象,并将其转换为用户窗口类型,示意代码如下:
TFormDoc *formDoc=static_cast(ui->mdiArea->activeSubWindow()->widget());

(3) removeSubWindow() 移除一个子窗口

(4) subWindowList() 函数返回子窗口列表

QMdiArea公有槽函数

void    activateNextSubWindow()          //激活下一个子窗口
void    activatePreviousSubWindow()      //激活前一个子窗口
void    setActiveSubWindow(QMdiSubWindow * window)   //激活一个子窗口
void    cascadeSubWindows()              //所有子窗口级联展开,在子窗口模式下有效
void    closeActiveSubWindow()           //关闭当前活动窗口
void    closeAllSubWindows()             //关闭所有的子窗口
void    tileSubWindows()                 //将所有子窗口平铺展开,在子窗口模式下有效 

 QMdiArea的信号

subWindowActivated(QMdiSubWindow *window)	
当前活动窗口切换时触发,参数为当前激活的QMdiSubWindow指针

 QMdiArea运行实例图

你可能感兴趣的:(QT编程学习,qt)