文章目录

  • 1 属性和方法
    • 1.1 文本
    • 1.2 图标
    • 1.3 样式表
    • 1.4 信号
  • 2 实例
    • 2.1 布局
    • 2.2 添加图标
    • 2.3 添加样式表
    • 2.4 代码实现

1 属性和方法

按钮除了可以设置显示文本之外,还可以设置图标

1.1 文本

可以获取和设置按钮上显示的文本

// 获取和设置按钮的文本QString text() constvoid setText(const QString &text);

该属性 既可以在Qt 设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.2 图标

可以获取和设置按钮上显示的图标

// 获取和设置按钮的图标QIcon icon() const;void setIcon(const QIcon &icon);

该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.3 样式表

样式表可以设置包括文本颜色、背景色、边框、字体等很多样式

// 获取和设置样式表// 这是继承自QWidget类的属性和方法// 只要继承自QWidget类的控件,都有该属性QString styleSheet() const;void setStyleSheet(const QString &styleSheet);

样式表既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.4 信号

按钮在按下和抬起的过程中,会发射多个信号。

// 当按钮被点击(按下并抬起)时,发送该信号,其中带有一个默认参数// 对于QPushButton 通常不需要传递这个默认参数// 对于可选中/ 取消选中的按钮,比如复选框QCheckBox,单选框QRadioButton 可以通过该参数,获取其是否选中void clicked(bool checked = false);// 当按钮被按下时,发送该信号void pressed();// 当按钮被抬起时,发送该信号void released();

2 实例

该实例演示,如何设置按钮的文本和图标,以及信号的使用,如下:

2.1 布局

在UI设计师界面,拖拽对应的控件,修改显示的文字、控件的name,然后完成布局

2.2 添加图标

首先添加资源文件,尹添加两个图标文件

2.3 添加样式表

在右侧的属性窗口中,或者在按钮上右键->【改变样式表…】,都可以打开编辑样式表的对话框如下,设置了按钮的字体颜色和背景渐变:

2.4 代码实现

void Widget::on_btnStart_clicked() {QString s = ui->btnStart->text();qDebug() <btnStart->setText("停止");ui->btnStart->setFont(QFont("Microsoft YaHei UI", 9));ui->btnStart->setIcon(QIcon(":/res/stop.ico"));ui->btnStart->setIconSize(QSize(24, 24));} else {// 则修改为启动ui->btnStart->setText("启动");ui->btnStart->setFont(QFont("Microsoft YaHei UI", 9));ui->btnStart->setIcon(QIcon(":/res/start.ico"));ui->btnStart->setIconSize(QSize(24, 24));}}void Widget::on_btnConnect_clicked() {QString s = ui->btnConnect->text();qDebug() <btnConnect->setText("断开连接");ui->btnSend->setEnabled(true);} else {ui->btnConnect->setText("连接");ui->btnSend->setEnabled(false);}}void Widget::on_btnSignal_clicked() {qDebug() << "clicked...";}void Widget::on_btnSignal_pressed() {qDebug() << "pressed...";}void Widget::on_btnSignal_released() {qDebug() << "released...";}