qt两个类信号槽的连接
我想在两个类中一个类发送信号,另一个类接收信号,加载图片。具体代码如下:
#ifndef SKINCHANGE_H
#define SKINCHANGE_H
#include <QWidget>
#include "ui_skinchange.h"
#include <sysmanten.h>
class SysManten;
class SkinChange : public QWidget
{
Q_OBJECT
public:
SkinChange(QWidget *parent = 0);
~SkinChange();
signals:
void changeSkin();
private:
Ui::SkinChange ui;
};
#endif // SKINCHANGE_H
#include "skinchange.h"
SkinChange::SkinChange(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.pushButton_2,SIGNAL(clicked()),this,SLOT(useSkin()));
}
SkinChange::~SkinChange()
{
}
void SkinChange::useSkin()
{
emit changeSkin();
}
另一个类
#ifndef SYSMANTEN_H
#define SYSMANTEN_H
#include <QWidget>
#include "ui_sysmanten.h"
#include <skinchange.h>
class SysManten : public QWidget
{
Q_OBJECT
public:
SysManten(QWidget *parent = 0);
~SysManten();
public slots:
void showskinInface();
void change();
private:
Ui::SysManten ui;
SkinChange *a;
};
#endif // SYSMANTEN_H
#include "sysmanten.h"
SysManten::SysManten(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
a=new SkinChange();
connect(a,SIGNAL(changeSkin()),this,SLOT(change()));
}
SysManten::~SysManten()
{
}
void SysManten::change(){
ui.label->setStyleSheet("border-image: url(:/images/Debug/skin/1_big.png)");
}
编译能通过,但是为什么不能调用槽函数那,谢谢各位大神指点了