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();
    });

 

三、演示图像

Qt的QButtonGroup+QRadioButton简单使用

 

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/245471.html

(0)
上一篇 2022年4月18日 10:00
下一篇 2022年4月18日 10:11

相关推荐

发表回复

登录后才能评论