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;
}
相关推荐
豆沙沙包?13 分钟前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头32 分钟前
96.如何使用C#实现串口发送? C#例子
开发语言·c#
liuyang-neu1 小时前
java内存模型JMM
java·开发语言
我很好我还能学2 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
蓝婷儿3 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
渣渣盟3 小时前
基于Scala实现Flink的三种基本时间窗口操作
开发语言·flink·scala
糯米导航3 小时前
Java毕业设计:办公自动化系统的设计与实现
java·开发语言·课程设计
糯米导航3 小时前
Java毕业设计:WML信息查询与后端信息发布系统开发
java·开发语言·课程设计
MessiGo4 小时前
Javascript 编程基础(5)面向对象 | 5.1、构造函数实例化对象
开发语言·javascript·原型模式
大霞上仙4 小时前
nonlocal 与global关键字
开发语言·python