按钮QPushButton
属性和方法、案例
文本
可以获取和设置按钮上显示的文本
// 获取和设置按钮的文本
QString text() const
void setText(const QString &text)
图标
可以获取和设置按钮上显示的图标
// 获取和设置按钮的图标
QIcon icon() const
void setIcon(const QIcon &icon)
样式表
样式表可以设置包括文本颜色、背景色、边框、字体等很多样式
// 获取和设置样式表
// 这是继承自QWidget类的属性和方法
// 只要继承自QWidget类的控件,都有该属性
QString styleSheet() const
void setStyleSheet(const QString &styleSheet)
样式表既可以在 Qt 设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改
信号
按钮在按下和抬起的过程中,会发射多个信号。
// 当按钮被点击(按下并抬起)时,发送该信号,其中带有一个默认参数
// 对于QPushButton 通常不需要传递这个默认参数
// 对于可选中/取消选中的按钮,比如复选框QCheckBox、单选框QRadioButton 可以通过该参数,获取其是否选中
void clicked(bool checked = false);
// 当按钮被按下时,发送该信号
void pressed();
// 当按钮被抬起时,发送该信号
void released();
案例
该案例演示,如何设置按钮的文本和图标,以及信号的使用
添加样式表(设置按钮渐变色)
在右侧的属性窗口中,或者在按钮上右键->【改变样式表…】,都可以打开编辑样式表的对话框
设置了按钮的字体颜色和背景渐变:
代码
// 1、设置文本和图标
void Widget::on_btnStart_clicked()
{
QString s = ui->btnStart->text();
if(s == "启动") {
// 设置文本和字体
ui->btnStart->setText("停止");
ui->btnStart->setFont(QFont("黑体", 16));
// 设置图标和图标大小
ui->btnStart->setIcon(QIcon(":/icon/stop.ico"));
ui->btnStart->setIconSize(QSize(48, 48));
} else {
ui->btnStart->setText("启动");
ui->btnStart->setFont(QFont("黑体", 12));
ui->btnStart->setIcon(QIcon(":/icon/start.ico"));
ui->btnStart->setIconSize(QSize(32, 32));
}
}
// 2、使能禁能
void Widget::on_btnConnect_clicked()
{
QString s = ui->btnConnect->text();
if(s == "连接") {
ui->btnConnect->setText("断开连接");
ui->btnSend->setEnabled(true);
} else {
ui->btnConnect->setText("连接");
ui->btnSend->setEnabled(false);
}
}
// 3、信号演示
// 按钮抬起时,会发射clicked信号
void Widget::on_btnSignal_clicked()
{
qDebug() << "clicked...";
}
// 按钮按下时,会发射pressed信号
void Widget::on_btnSignal_pressed()
{
qDebug() << "pressed...";
}
// 按钮抬起时,会发射released信号
void Widget::on_btnSignal_released()
{
qDebug() << "released...";
}
标签:QT,void,btnStart,样式表,QPushButton,按钮,ui,图标
From: https://blog.csdn.net/m0_67194883/article/details/143173370