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;
}
相关推荐
2601_949146539 分钟前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧15 分钟前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX21 分钟前
服务异步通信
开发语言·后端·微服务·ruby
zmzb010328 分钟前
C++课后习题训练记录Day98
开发语言·c++
猫头虎1 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
YUJIANYUE2 小时前
PHP纹路验证码
开发语言·php
仟濹2 小时前
【Java基础】多态 | 打卡day2
java·开发语言
孞㐑¥2 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Re.不晚2 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言
八零后琐话2 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python