我將一個QWidget類封裝成Qplugin,在主程式的mainWindow中呼叫,整個檔案的結構如下:
1. 自定義類
**Mwidget.h**
class Mwidget:public QWidget
{
public:
構造、解構式等....
void open();
}
**Mwidget.cpp**
相關實作:
void Mwidget::open(){}
2.介面類:MwidgetInterface
**MwidgetInterface.h**
```
#include Mwidget.h
Mwidget* getMwidget();
```
3.插件類
```
#include MwidgetInterface.h
Mwidget* getMwidget();
```
4.實際在mainwindow使用中
mainwindow.h
```
#include MwidgetInterface.h
```
> 通過插件獲得Mwidget類,因為在主視窗的頭檔案mainwindow.h中引入了插件的頭檔案MwidgetInterface.h,而插件頭檔案中又引入了Mwidget.h,所以在mainwindow中呼叫Mwidget的open方法,在QtCreator中是能夠引入的,但是在編譯中顯示
```
error: undefined reference to `Mwidget::open()',
```
這是什么原因呢,應該怎么改正呢?
uj5u.com熱心網友回復:
母雞呀,你應該貼到Qt版塊轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/202904.html
標籤:Qt
