我正在試圖使代碼找到this page編譯。我想要做的就是複製該頁面描述的內容。我不斷收到一個錯誤,指出:簡單的應用程序獲取「未定義引用vtable」錯誤? [Qt]
main.cpp:13: error: undefined reference to `vtable for myMainWindow'
這裏是我的代碼,這是幾乎完全一樣的頁面代碼:
的main.cpp
#include <QApplication>
#include <QDialog>
#include <QWidget>
#include <QGridLayout>
#include <QPushButton>
#include <QMainWindow>
#include <QBitmap>
class myMainWindow : public QMainWindow
{
public:
myMainWindow():QMainWindow()
{
setMask((new QPixmap("saturn.png"))->mask());
QPalette* palette = new QPalette();
palette->setBrush(QPalette::Background,QBrush(QPixmap("saturn.png")));
setPalette(*palette);
setWindowFlags(Qt::FramelessWindowHint);
QWidget *centralWidget = new QWidget(this);
QGridLayout *layout = new QGridLayout();
centralWidget->setLayout(layout);
QPushButton* button1 = new QPushButton("Button 1");
button1->setFixedSize(80,50);
layout->addWidget(button1,0,0);
setCentralWidget(centralWidget);
};
~myMainWindow();
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
myMainWindow *window = new myMainWindow();
window->resize(600, 316);
window->show();
return app.exec();
}
我讀了爲什麼這可能會發生,並且看到它是需要在頭文件中定義類的東西。我怎麼會這樣做正確給這個代碼?
謝謝。
你是否在某處提供了析構函數的函數體? – Anedar
將頭文件添加到.pro並運行qmake – user3528438
@Anedar,那就是問題所在!謝謝!你可以添加一個答案,所以我可以標記爲完整? – orbit