• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

MDI QMdiArea 多文档区域

Qt下创建类似window平台的MDI多文档区域使用QMdiArea

    
    QMdiArea * mdiArea;
    mdiArea = new QMdiArea(this); //A widget 为window MDI 提供一个区域
    mdiArea->setFocusPolicy(Qt::ClickFocus);  //接收鼠标单击策略
    mdiArea->setViewMode(QMdiArea::TabbedView); //页切换模式 tab模式
    mdiArea->setTabsClosable(false);//每个tab上放置红叉关闭某一个tab ,false:没有叉;true:有叉
    mdiArea->setTabsMovable(true);//多个tab可鼠标拖动摆放顺序
    mdiArea->setTabShape(QTabWidget::Triangular);//tab的形状,Rounded圆角型;Triangular三角形

    QVBoxLayout * lyt = new QVBoxLayout; //垂直布局管理器
    lyt->setContentsMargins(0,0,0,0);//左上右下 的margin ,around the layout(lyt)
    lyt->addWidget(mdiArea);//在layout(lyt)的末尾添加 widget(mdiArea)


    QFrame * frm = new QFrame(this); //创建一个框架
    frm->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);//框架显示外形。
                       //StylePanel画一个矩形面板,根据当前GUI风格的不同而不同,可被凸起或凹陷
                       //Sunken画一个3D的凹陷显示效果
    frm->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);//大小策略
                        //水平和垂直都可收缩(shrunk)
    frm->setLayout(lyt);//设置frm的布局管理
                   //如果此widget(frm)上已有 layout ,那么必须先删除已有的,再添加新的
    setCentralWidget(frm);//设置参数为 main window's central widget

 

posted @ 2018-03-27 11:15  我是张洪铭我是熊博士  阅读(2078)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3