天天看点

基于QML的QPushButton点击事件处理

1.创建Qt Widget Application应用工程

基于QML的QPushButton点击事件处理

2.打开.ui设计窗口,并向设计窗口中拖放一个 

基于QML的QPushButton点击事件处理

3.为PushBotton控件添加点击事件处理函数

基于QML的QPushButton点击事件处理

 下面是事件处理函数

基于QML的QPushButton点击事件处理

4.演示效果

基于QML的QPushButton点击事件处理
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
private:
    Ui::MainWindow *ui; 
    QLabel *label;
//信号槽 
public Q_SLOTS:
    void CreateLable();
};
#endif // MAINWINDOW_H      
#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, //信号发起者
            &QPushButton::clicked, //信号事件名
            this, //信号接收者,this表示当前窗口
            &MainWindow::CreateLable); //处理信号事件的函数
}

MainWindow::~MainWindow()
{
    delete ui;
}

/*
*   动态创建QLabel标签控件并添加到窗口
*/
void MainWindow::CreateLable()
{
   this->label  = new QLabel("这个是动态创建的控件",ui->centralwidget);
   this->label->show();//显示控件

}