我想在兩個類中一個類發送信號,另一個類接收信號,加載圖片。具體代碼如下:
#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)");
}
編譯能通過,但是為什么不能呼叫槽函式那,謝謝各位大神指點了
uj5u.com熱心網友回復:
http://blog.csdn.net/zbw1185/article/details/48519371uj5u.com熱心網友回復:
你鏈接地方斷點進入肯定回傳false,鏈接都失敗,如何能觸發槽函式?uj5u.com熱心網友回復:
你是怎么做到兩個類頭檔案互相包含uj5u.com熱心網友回復:
我很懷疑你的編譯是怎么通過的。你的類SkinChange根本就沒有定義一個叫useSkin的slot函式轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/50373.html
標籤:Qt
上一篇:appium flutter driver 測驗IOS端自動化時遇到session創建失敗,求指教
下一篇:h5頁面拉起手機掃一掃功能
