你嘛,刚接触QT,那是兴奋呀,大清早醒来研究了下按钮控件实现点击的用法,QT中的按钮点击实现主要是通过信号与槽来实现的,所谓的信号与槽,可以理解为发送方发送的事件为信号,接受处理的地方为槽,就像一颗炮弹发射后打到一个坑里面。好了,不多说了,这里面我们通过两种方式实现按钮点击。先上效果图
另外说一点,QT中的按钮控件为PUSHBUTTON
1.第一种代码方式
先从控件库中拖动按钮控件到界面中,系统按钮的text属性可以改变显示的文字。
首先在.h文件中定义槽
public slots:
void ClickButton();
然后再.CPP文件中定义实现
void MainWindow::ClickButton()
{
ui->label->setText("Hello World,你使用的是第一种点击方式");
}
通过connect连接信号与槽,这样就完成了点击事件,简单吧,赶紧去试试吧
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(ClickButton()));
2.第二种方式
第二种方式主要是通过界面来实现,右键选中按钮跳转槽,系统会自动在代码中生成槽事件,此时会发现CPP文件中多了
on_pushButton_3_clicked 事件,可以在里面添加代码,实现点击逻辑
这样就完成了按钮点击,这样更简单,加油吧,骚年
全部代码如下
.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void ClickButton();
private slots:
void on_pushButton_3_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->pushButton->setText("第一种点击实现方式");
//连接信号与槽
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(ClickButton()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::ClickButton()
{
ui->label->setText("Hello World,你使用的是第一种点击方式");
}
void MainWindow::on_pushButton_3_clicked()
{
ui->label->setText("Hello World,你使用的是第二种点击方式");
}