Qt的QButtonGroup+QRadioButton简单使用

一、概述

  案例:使用Qt的QButtonGroup和QRadioButton做一个简单的选中、未选中的样例(服务于视频背景消除中的一个小案例)

  ps:基于Qt6.2.3,主要是记录一下,防止后面忘记回看

二、代码示例

QPushButton *choiceVideo = new QPushButton(this);
    choiceVideo->setText("选择视频");
    connect(choiceVideo,&QPushButton::clicked,[=](){
        path = QFileDialog::getOpenFileName(this, tr("选择视频"), ".", tr("video Files(*.mp4 *.avi)"));
        const char *fileRealPath = filePath.toStdString().c_str();
        qDebug()<< ":图片路径路径:"<<fileRealPath;
    });

    //创建一组Group
    QButtonGroup *btnGroup  = new QButtonGroup(this);
    QRadioButton *btn1 = new QRadioButton(this);
    btn1->setText("MOG背景消除");
    btn1->move(0,choiceVideo->y()+choiceVideo->height()+20);

    QRadioButton *btn2 = new QRadioButton(this);
    btn2->move(btn1->x()+btn1->width()+20,choiceVideo->y()+choiceVideo->height()+20);
    btn2->setText("其他背景消除");
    btnGroup->addButton(btn1);
    btnGroup->setId(btn1,0);
    btnGroup->addButton(btn2);
    btnGroup->setId(btn2,1);

    connect(btn1,&QRadioButton::clicked,[=](bool flag){
        qDebug()<<"测试RadioButton的Id:"<<btn1->text();
        if(path.isEmpty()){
            QMessageBox::warning(this,"警告","视频路径不能为空");
        }else{
            showMogBackgroundRemove(path.toStdString().c_str());
        }

    });
    connect(btn2,&QRadioButton::clicked,[=](bool flag){
        qDebug()<<"测试RadioButton的Id:"<<btn2->text();
    });

 

三、演示图像

 

posted on 2022-04-17 22:24  飘杨......  阅读(632)  评论(0编辑  收藏  举报