QT 常用控件的常用方法

QRadioButton、QCheckBox 常用函数:

text(): 用于获取单选按钮的文本标签。

setText(const QString &text): 用于设置单选按钮的文本标签。

isChecked(): 用于检查单选按钮是否被选中。

setChecked(bool checked): 用于设置单选按钮是否被选中。

setIcon(const QIcon &icon): 设置单选按钮的图标。

setIconSize(const QSize &size): 设置单选按钮的图标大小。

setAutoExclusive(bool exclusive): 设置单选按钮是否自动排除其他已选中的单选按钮。

代码

设置单选按钮是否选中属性

复制代码
void dlg_UserInfo::SetData(int id)
{
    m_Id = id;
    if(id > 0)
    {
        this->setWindowTitle("用户信息");
        //GetBookById
        auto data = SqlMgr::GetInstance()->GetUserById(id);
        if(data.size() > 0)
        {
            ui->le_Name->setText(data[1]);
            ui->le_NickName->setText(data[3]);
            //ui->le_Press->setText(data[3]);
            //ui->le_Name->setText(data[0]);
            //性别
            ui->rdo_Man->setChecked(data[7].toInt() == 1);
            ui->rdo_Woman->setChecked(data[7].toInt() == 0);

            ui->le_Remark->setText(data[10]);
        }
    }
}

获取是否选中结果

复制代码
//获取选中的性别结果
    int sex = ui->rdo_Man->isChecked() ? 1 : 0;

QCheckBox 常用用函数:

设置选中状态

复制代码
//爱好 widget_Hobby
            auto l = ui->widget_Hobby->children();
            for(auto it:l)
            {
                //判断控件对象名称是否包含chk_ 复选框
                if(it->objectName().contains("chk_"))
                {
                    // 使用qobject_cast尝试将QObject转换回QCheckBox
                    QCheckBox *checkBox = qobject_cast<QCheckBox *>(it);
                    //设置复选框是否选中状态
                    checkBox->setChecked(data[9].contains(checkBox->text()));
                }
            }

获取选中的复选框文本

复制代码
//获取选择的爱好
QString dlg_UserInfo::getSelectHobby()
{
    QString strHobby;
    //爱好 widget_Hobby
    auto l = ui->widget_Hobby->children();
    for(auto it:l)
    {
        //判断控件对象名称是否包含chk_ 复选框
        if(it->objectName().contains("chk_"))
        {
            // 使用qobject_cast尝试将QObject转换回QCheckBox
            QCheckBox *checkBox = qobject_cast<QCheckBox *>(it);
            //判断复选框是否选中
            if(checkBox->isChecked())
            {
                //checkBox->text() 获取复选框文本
                strHobby.append(checkBox->text()+",");//字符串末尾追加
            }
        }
    }
    if(strHobby.size() > 0)
    {
        strHobby = strHobby.trimmed();//去除字符串头尾的空白字符
        strHobby = strHobby.remove(strHobby.size()-1, 1);//从特定位置开始移除特定长度的字符remove()
    }
    return strHobby;
}
相关推荐
码云数智-园园1 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
C++ 老炮儿的技术栈1 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl1 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628881 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手2 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
AI科技星2 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8862 小时前
Java进阶——IO 流
java·开发语言·python
波特率1152002 小时前
const关键字与函数的重载
开发语言·c++·函数重载
FL16238631292 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
百锦再2 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven