QObject::sender() in a Q_PRIVATE_SLOT

http://www.qtcentre.org/threads/31700-QObject-sender()-in-a-Q_PRIVATE_SLOT

 

 

class MyClassPrivate

{

public:

...

void _q_mySlot()

{

    Q_Q(MyClass); qDebug() << q->sender(); // should print "foo(0x.....)"

};

MyClass * const q_ptr;

Q_DECLARE_PUBLIC(MyClass);

};

 

class MyClass

{

Q_OBJECT

public:

MyClass(QObject *parent) : QObject(parent), d_ptr(new MyClassPrivate(this))

{

    connect(foo, SIGNAL(bar()), this, SLOT(_q_mySlot()));

};

private:

Q_DECLARE_PRIVATE(MyClass);

Q_PRIVATE_SLOT(d_func(), void _q_mySlot());

MyClassPrivate * const d_ptr;

};

把槽函数实现在MyClassPrivate 类中,用做MyClass内部使用的槽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值