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;
}
相关推荐
小成202303202654 小时前
Linux高级02
linux·开发语言
知行合一。。。4 小时前
Python--04--数据容器(总结)
开发语言·python
咸鱼2.05 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H5 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
A.A呐5 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子5 小时前
Java:异常(exception)
java·开发语言
lifewange5 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
2401_827499995 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python
PD我是你的真爱粉6 小时前
MCP 协议详解:从架构、工作流到 Python 技术栈落地
开发语言·python·架构