Qt按钮概览

1.QPushButton四个信号

在这里插入图片描述
这里采用自动关联的方式实现按钮与四种信号的关联。
clicked() 指鼠标按下和释放两个动作过程
pressed() 单指鼠标按下过程
released() 指鼠标单击释放的过程
toggled() 类似于插座开关按钮,单次点击开关按下,再次点击开关弹起
toggled()需要将按钮的setCheckable(True)

ui->pushButton->setCheckable(true);

这里我们在ui文件中将pushbutton按钮关联四种信号
以下生成了四个槽函数

void Widget::on_pushButton_clicked()
{
    qDebug()<<"clicked"<<endl;
}

void Widget::on_pushButton_pressed()
{
    qDebug()<<"pressed"<<endl;
}

void Widget::on_pushButton_released()
{
    qDebug()<<"released"<<endl;
}

void Widget::on_pushButton_toggled(bool checked)
{
    qDebug()<<"toggled"<<endl;
}

这里我们点击按钮,效果如下;测试结果:
在这里插入图片描述

2.QRadioButton单选按钮

常用信号
在这里插入图片描述

①icon网站获取资源:

链接: https://www.iconfont.cn/
在这里插入图片描述
添加Icons到指定资源文件

②文件目录

在这里插入图片描述

③修改style.qss文件

此处修改是将所有的RadioButton按钮的可选与否全部置换
indicator(指示器)控制小圆圈的大小

QRadioButton::indicator:unchecked {image:url(:/Icons/RadioButton_NO.png)}
QRadioButton::indicator:checked {image:url(:/Icons/RadioButton_OK .png)}
QRadioButton {font-size:30px; color:#99404040}
④结果

在这里插入图片描述

⑤实现组管理(组间互斥)

在这里插入图片描述

⑥实现组内多选操作

在这里插入图片描述
在这里插入图片描述

⑦QRadioButton通常使用toggled()作为信号(需修改checkable属性)

在这里插入图片描述
改写槽函数
男女选项为互斥选项exclusivetrue,只能选择一个,选择完毕会调用所有的槽函数,传入对应的checked值

void Widget::on_radioButton_toggled(bool checked)
{
    qDebug()<<"男性别::"<<checked<<endl;
}

void Widget::on_radioButton_2_toggled(bool checked)
{
    qDebug()<<"女性别::"<<checked<<endl;
}

在这里插入图片描述

课选选项exclusive:false,当点击对应选项是只会执行对应的槽函数


void Widget::on_radioButton_3_toggled(bool checked)
{
    qDebug()<<"语文状态:"<<checked<<endl;
}

void Widget::on_radioButton_4_toggled(bool checked)
{
    qDebug()<<"数学状态:"<<checked<<endl;
}

在这里插入图片描述

3.QCheckBox

在这里插入图片描述

①style.css

indeterminate是半选

QCheckBox::indicator:unchecked{image:url(:/uncheck.png)}
QCheckBox::indicator:indeterminate{image:url(:/indeterminate.png)}
QCheckBox::indicator:checked{image:url(:/check_fill.png)}
②常用信号stateChanged();

在这里插入图片描述
开启三态模式
在这里插入图片描述

③槽函数
void Widget::on_checkBox_stateChanged(int arg1) // 三态选择信号
{
    switch(arg1){
        case Qt::Checked:
            qDebug()<<"全选信号:"<<arg1<<endl;
            break;
        case Qt::PartiallyChecked:
            qDebug()<<"半选信号:"<<arg1<<endl;
            break;
        case Qt::Unchecked:
            qDebug()<<"未选信号:"<<arg1<<endl;
            break;
    }
}

在这里插入图片描述

④结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值