一、属性和方法
1、文本
可以获取和设置按钮上显示的文本
// 获取和设置按钮的文本
QString text() const
void setText(const QString &text)
2、图标
可以获取和设置按钮上显示的图标
// 获取和设置按钮的图标
QIcon icon() const
void setIcon(const QIcon &icon)
3、信号
按钮在按下和抬起的过程中,会发射多个信号。
// 当按钮被点击(按下并抬起)时,发送该信号,其中带有一个默认参数
// 对于QPushButton 通常不需要传递这个默认参数
// 对于可选中/取消选中的按钮,比如复选框QCheckBox、单选框QRadioButton 可以通过该参数,获取其是否选中
void clicked(bool checked = false);
// 当按钮被按下时,发送该信号
void pressed();
// 当按钮被抬起时,发送该信号
void released();
二、案例
1、ui界面
2、核心代码
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn_start_clicked()
{
QString s = ui->btn_start->text();
if(s == "启动"){
ui->btn_start->setText("停止");
ui->btn_start->setFont(QFont("黑体",16));
ui->btn_start->setIcon(QIcon(":/icon/stop.ico"));
ui->btn_start->setIconSize(QSize(48,48));
}else {
ui->btn_start->setText("启动");
ui->btn_start->setFont(QFont("黑体",16));
ui->btn_start->setIcon(QIcon(":/icon/start.ico"));
ui->btn_start->setIconSize(QSize(48,48));
}
}
void Widget::on_btn_connect_clicked()
{
QString s = ui->btn_connect->text();
if(s =="连接"){
ui->btn_connect->setText("断开连接");
ui->btn_send->setEnabled(true);
}else {
ui->btn_connect->setText("连接");
ui->btn_send->setEnabled(false);
}
}