天天看點

基于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();//顯示控件

}