005_QT_逐梦_事件处理(信号和槽)

事件:指用户输入事件,点击一个按钮,之类的
事件处理:当事件发生时,程序作出的反应称之为事件处理。

信号和槽:signal & slot

理论模型:对象a发出一个信号 signal : xxx(代表一个事件)其他对象b中的槽 slot:yyy(事件处理函数)
通过
connect(a,xxx,b,yyy);

例如:
//connect(ui.but_show, /对象 a,必须是 一个QObject类型*/
// SIGNAL(clicked(bool)),/a的信号/
// this, /接收者/
// SLOT(OnShowClicked(bool))/* b的槽函数*/
//);

例程(按键点击,显示hello,world):
main.cpp

#include "test04_1a.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	Test04_1A w;
	w.show();
	return a.exec();
}

test04_1a.cpp (ui文件对应的cpp 文件)

#include "test04_1a.h"

Test04_1A::Test04_1A(QWidget *parent): QMainWindow(parent)
{
	ui.setupUi(this);
	connect(ui.but_show,SIGNAL(clicked(bool)),this,SLOT(OnShowClicked(bool)));
}

Test04_1A::~Test04_1A()
{
}

int Test04_1A::OnShowClicked(bool chenked)
{

	ui.my_textEdit->setPlainText("hello,world");
	return 0;
}

test04_1a.h

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

class Test04_1A : public QMainWindow
{
	Q_OBJECT

public:
	Test04_1A(QWidget *parent = Q_NULLPTR);
	~Test04_1A();

private slots:

	int OnShowClicked(bool checked);
//void clicked(bool checked = false);


private:
	Ui::Test04_1AClass ui;
};

test04_1a.ui :
在这里插入图片描述

效果:
在这里插入图片描述

有些地方我自己也有点理解不透彻,需要巩固巩固。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值