zoukankan      html  css  js  c++  java
  • Qt程序关闭弹出确定框

    1、代码

    void QJInterface::closeEvent(QCloseEvent *event)
    {
        QDialog* log = new QDialog(this);
        log->setObjectName("log");
        log->setStyleSheet("#log{background:#3379B7;}");
        log->deleteLater();
        log->setWindowTitle("退出平台");
        log->resize(200,100);
    //    log->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
        QLabel* lel = new QLabel(log);
        lel->setText("确定退出平台吗?");
        lel->setStyleSheet("QLabel{font-family:'宋体';font-size:20px;color:white;background:#3379B7;}");
        lel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
        QPushButton* okBtn = new QPushButton(log);
        QPushButton* clsBtn = new QPushButton(log);
        okBtn->setStyleSheet("QPushButton{color: green;min-75px;max-75px;min-height:20px;border:1px solid white;border-radius:5px;}"
                             "QPushButton:hover{background-color: #333333;border-color: #444444;color:rgb(255,255,255);}"
                             "QPushButton:pressed{background-color: #111111;border-color: #333333;color: yellow;}");
        clsBtn->setStyleSheet("QPushButton{color: green;min-75px;max-75px;min-height:20px;border:1px solid white;border-radius:5px;}"
                             "QPushButton:hover{background-color: #333333;border-color: #444444;color:rgb(255,255,255);}"
                             "QPushButton:pressed{background-color: #111111;border-color: #333333;color: yellow;}");
        okBtn->setText("确定");
        clsBtn->setText("取消");
        okBtn->setMaximumWidth(100);
        clsBtn->setMaximumWidth(100);
    
        QObject::connect(okBtn,&QPushButton::clicked,[=]()
        {
            log->done(1);
        });
        QObject::connect(clsBtn,&QPushButton::clicked,[=]()
        {
            log->done(0);
        });
        QHBoxLayout* hLayout = new QHBoxLayout();
        hLayout->setSpacing(5);
        hLayout->addStretch();
        hLayout->addWidget(okBtn);
        hLayout->addWidget(clsBtn);
        QVBoxLayout* v = new QVBoxLayout();
        v->addWidget(lel);
        v->addItem(hLayout);
        log->setLayout(v);
        if(1==log->exec())
        {
            event->accept();
        }
        else
        {
            event->ignore();
        }
    }

    主要是重写closeEvent函数

    2、效果




    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    编写便于打印的Shellcode
    DOS路径转化为NT路径
    当你孤单时你会想起谁
    【转载】从文件句柄获得全路径
    C# DLLImport C++ dll 几点注意事项
    充值系统系统异常处理解决方案
    Demo 与实际应用开发之间的距离
    IIS7.0出错的解决方案 IIS 状态代码:IIS详细错误代码以及解释
    log4net 写日志到 Sql server 数据库
    Log4net 的使用及注意事项
  • 原文地址:https://www.cnblogs.com/judes/p/13584146.html
Copyright © 2011-2022 走看看