[英]Qt custom widget error
我正在嘗試在Qt(名為DingButton,繼承自QPushButton)中制作簡單的自定義小部件。 我做到了。 在Qt Designer中可以看到它。 但是,當我編譯包含此自定義小部件的項目(名為DingDemo)時,出現錯誤:
未定義對`DingButton :: DingButton(QWidget *)的引用
指向ui_DingDemo.h中的下一個代碼:
class Ui_DingDemo
{
public:
DingButton *dingbutton;
void setupUi(QWidget *DingDemo)
{
if (DingDemo->objectName().isEmpty())
DingDemo->setObjectName(QString::fromUtf8("DingDemo"));
DingDemo->resize(226, 97);
dingbutton = new DingButton(DingDemo); //<---------error here
我已經搜索了Internet,並嘗試遵循以下說明:
添加行:
LIBS + = -Wl,-rpath,/ usr / local / qt4 / plugins / designer -L / usr / local / qt4 / plugins / designer -l libding-button-plugin.so
到.pro文件
但這並不成功。
為什么會這樣? 以及如何解決這個問題?
請幫我
ding-button-plugin.pro
CONFIG += plugin release designer
TEMPLATE = lib
TARGET = $$qtLibraryTarget($$TARGET)
target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS += target
INCLUDEPATH += .
LIBS += -Wl,-rpath,/usr/local/qt4/plugins/designer -L/usr/local/qt4/plugins/designer -l libding-button-plugin.so
HEADERS += DingButton.h DingButtonPlugin.h
SOURCES += DingButton.cpp DingButtonPlugin.cpp
編輯:DingButton :: DingButton(QWidget *)已實現
您必須實現此構造函數,該構造函數在發生錯誤的行中被調用。
DingButton(QWidget *widget = 0);//In your DingButton class
DingButton::DingButton(QWidget *widget) : QWidget(widget) //In your .cpp
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.