Qt信号与槽的两种连接方式

       信号与槽机制是Qt进行UI设计时必须要掌握的一个知识点。信号能触发槽函数的前提条件是已经将信号函数与槽函数用connect函数连接,并且这里的信号函数和槽函数都可进行自定义。另外,还有一种简化方式,即通过对槽函数的规则命名来省略connect函数。这里用一个小例子进行对比说明:

一、界面布局和控件设置

整体结构

 

样式设置

background-color:green;
font: 14pt "Agency FB";
color:red;
background-color:black;
font: 14pt "Agency FB";
color:red;

 

二、具体代码

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtSignalSlot.h"

class QtSignalSlot : public QMainWindow
{
	Q_OBJECT

public:
	QtSignalSlot(QWidget* parent = nullptr);
	~QtSignalSlot();

private slots:
	void slot_pushButton();
	void on_pushButton_2_clicked();

private:
	Ui::QtSignalSlotClass ui;
};
#include "QtSignalSlot.h"
#pragma execution_character_set("utf-8")

QtSignalSlot::QtSignalSlot(QWidget* parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(slot_pushButton())); //传统方式
}

QtSignalSlot::~QtSignalSlot()
{}

void QtSignalSlot::slot_pushButton()
{
	ui.label->setText("这是用 基于connect的传统 方式实现的槽函数");
}

void QtSignalSlot::on_pushButton_2_clicked() //采用 on_控件名_信号() 命名法,省略connect
{
	ui.label_2->setText("这是用 on_控件名_信号() {...} 方式实现的槽函数");
}

 

三、效果展示

分别按“方式一”和“方式二”,各自下面的QLabel分别进行响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值