Qt自定义信号槽

本文介绍了一个使用Qt框架实现的简单信号与槽机制的应用示例。通过sender类发送信号,signal_slot类接收信号并更新界面元素。此示例展示了Qt中信号与槽的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//signal_slot.h

#ifndef SIGNAL_SLOT_H
#define SIGNAL_SLOT_H

#include <QtGui/QMainWindow>
#include "ui_signal_slot.h"

class signal_slot : public QMainWindow
{
	Q_OBJECT

public:
	signal_slot(QWidget *parent = 0, Qt::WFlags flags = 0);
	~signal_slot();

private:
	Ui::signal_slotClass ui;

public slots:
	void recieve(QString str);
};

class sender : public QObject{
	Q_OBJECT
signals:
	void send(QString str);
public:
	void sendMessage(QString message);
};

#endif // SIGNAL_SLOT_H


//signal_slot.cpp

#include "signal_slot.h"

signal_slot::signal_slot(QWidget *parent, Qt::WFlags flags)
	: QMainWindow(parent, flags)
{
	ui.setupUi(this);
}

signal_slot::~signal_slot()
{

}
void signal_slot::recieve(QString str){
	ui.lineEdit->setText(str);
}

void sender::sendMessage(QString message){
	emit send(message);
}


//main.cpp

#include "signal_slot.h"
#include <QtGui/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	signal_slot w;

	sender s;
	w.show();

	QObject::connect(&s,SIGNAL(send(QString)),&w,SLOT(recieve(QString)));

	s.sendMessage("hello");

	return a.exec();
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值