Qt的QButtonGroup+QRadioButton简单使用

2022/4/17 23:13:47

本文主要是介绍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简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程