在做关于按键切换的时候一般喜欢用不带参数的clicked()函数,然后设置标志位去控制开关的打开和关闭,进行逻辑的处理。今天发现用clicked(bool checked)带参数的按键的信号更方便,以下是demo效果:
我在使用的时候,刚开始发现每次输出打印的按键状态值都为false,然后输出默认checkable的状态值为false,设置为true以后就好了。
代码入下:
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
bool ischecked = ui->pushButton->isCheckable();
qDebug()<<ischecked;//默认是false 每次点击都是false
ui->pushButton->setCheckable(true);//设置checkable属性为true,true和false交替执行
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked(bool checked)
{
qDebug()<<checked;
ui->widget->setHidden(checked);
}