窗体部件效果之模态

    //对于QDialog

    //modal, mothod 1 (shake effect)
    QDialog dlg(this);
//    dlg.setWindowFlags(Qt::FramelessWindowHint);//设置这个属性dialog显示不出来
    dlg.setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);//只有同时设置这连个属性才能正常显示dialog
    dlg.move(100,100);
    dlg.resize(400,300);

    QPushButton *btn = new QPushButton("click", &dlg);
    btn->show();
    connect(btn, SIGNAL(clicked(bool)), &dlg, SLOT(close()));

    dlg.exec();


//    //modal, mothod 2 (shake effect)
//    QDialog *pDlg = new QDialog(this);
//    pDlg->setModal(true);
//    pDlg->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);

//    QPushButton *btn = new QPushButton("click", pDlg);
//    btn->show();
//    connect(btn, SIGNAL(clicked(bool)), pDlg, SLOT(close()));

//    pDlg->show();
//    pDlg->resize(400,300);//必须放在此处


//    //modal, mothod 3 (no shake effect)
//    QDialog *pDlg = new QDialog();
//    pDlg->setModal(true);
//    pDlg->setWindowFlags(Qt::FramelessWindowHint);
//    pDlg->show();

//    //noModal, mothod 1
//    QDialog *pDlg = new QDialog(this);
//    pDlg->setWindowFlags(Qt::FramelessWindowHint);
//    pDlg->show();


    //对于QWidget

//    QWidget *pWgt = new QWidget();//此处不能指定父窗口this,只能是0(NULL)或无参;
//    pWgt->setWindowModality(Qt::ApplicationModal);//ok
////    pWgt->setAttribute(Qt::WA_ShowModal, true);//also ok
//    pWgt->show();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值