zoukankan      html  css  js  c++  java
  • Qt 子窗体嵌入父窗体

    1.创建个子窗体QDialog.在子窗体构造函数添加

    Dialog::Dialog(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Dialog)
    {
        ui->setupUi(this);
        this->setParent(parent);
        this->setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);
        this->hide();
    }

    2.在父窗体调用子窗体 

    Dialog *dlg;
    void MainWindow::on_pushButton_clicked()
    {
        dlg=new Dialog(this);
        dlg->show();
        //在父窗体位置
        dlg->move(10,50);
        //子窗体大小
        dlg->resize(400,100);
    
    }

    如果拖动父窗体,子窗体跟着改变大小;父窗体最大化等等,需要写代码改变子窗体的大小。 

    void MainWindow::resizeEvent(QResizeEvent *e)
    {
    
          int realWidth = this->width();
          int realHeight = this->height();
    
         if(dlg!=NULL)
         {
             dlg->resize(realWidth-20,realHeight-60);
         }
    }


    这样就可以把子窗体嵌入到父窗体。

  • 相关阅读:
    5059 一起去打CS
    2439 降雨量
    vijos P1037搭建双塔
    4979 数塔
    2596 售货员的难题
    P2342 叠积木
    1540 银河英雄传说
    1051 接龙游戏
    hdu1251
    洛谷P1717 钓鱼
  • 原文地址:https://www.cnblogs.com/ike_li/p/5032686.html
Copyright © 2011-2022 走看看