Qt6基础篇(十)——QPushButton

前言:
   本篇文章介绍QPushButton控件的使用。

1 介绍

  QPushButton是Qt框架中的一个常用控件,用来进行按键点击控制。
  通过Qt Creator添加QPushButton控件。

pushButton.png

2 设置文本、坐标、大小、颜色

  以下代码配置了QPushButton控件的文本,坐标、大小、背景色、字体颜色。

1
2
3
ui->pushButton->setText(Text);
ui->pushButton->setGeometry(200, 50, 200, 50);
ui->pushButton->setStyleSheet("background-color: yellow; color: green;");

QPushButton.png

3 获取文本

   text 函数将返回QPushButton控件中的文本内容,类型为 QString ,可通过 toStdString 函数转化为 string 类型输出。

1
std::cout << ui->pushButton->text().toStdString() << std::endl;

4 信号槽

  连接信号和槽可以为控件添加回调函数,以下是为 QPushButton 控件添加当按钮发生点击时,触发的回调函数。

1
connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::onButtonClicked);

  回调函数建议定义为私有函数。该回调函数的参数为 QPushButton 控件的文本内容。
  mainwindow.cpp。

1
2
3
4
5
void MainWindow::onButtonClicked(void)
{
std::cout << "Clicked" << std::endl;
std::cout << ui->pushButton->text().toStdString() << std::endl;
}

  mainwindow.h。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtWidgets/QLabel>
#include <QString>

QT_BEGIN_NAMESPACE

namespace Ui
{
class MainWindow;
}

QT_END_NAMESPACE

class MainWindow: public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void SetUi(QString Text);

private:
Ui::MainWindow *ui;

void onButtonClicked(void);
};
#endif // MAINWINDOW_H