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;
}
相关推荐
SmartRadio6 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion6 小时前
QT5.7.0编译移植
开发语言·qt
rit84324996 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人6 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest6 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
一只小bit7 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
不知道累,只知道类7 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
国强_dev8 小时前
Python 的“非直接原因”报错
开发语言·python
YMatrix 官方技术社区8 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix