в основном цель кода — открыть диалоговое окно, содержащее QWebView (с некоторым содержимым) после нажатия на кнопку.
вот что я сделал:
mainwindow.h:
class MainWindow : public QMainWindow, public Ui::MainWindowUi
{
...
private slots:
void on_ViewDatabase_clicked();
...
}
mainwindow.cpp:
#include "mainwindow.h"#include "onlinedb.h"void MainWindow::on_ViewDatabase_clicked()
{
OnlineDB dlg(this);
dlg.exec();
}
onlinedb.h:
#ifndef OnlineDB_H
#define OnlineDB_H#include "ui_onlinedb.h"#include <QDialog>class MainWindow;
class OnlineDB : public QDialog, public Ui::OnlineDB
{
Q_OBJECT
public:
OnlineDB(LkMainWindow *parent);
~OnlineDB();
private:
MainWindow *MainWindow;
};#endif
onlinedb.cpp:
#include "onlinedb.h"#include "mainwindow.h"
///////////////////////////////////////////////////////////////////////////////
//
// OnlineDB class constructor
//
// Create a OnlineDB
//
OnlineDB::OnlineDB(MainWindow *parent) : QDialog(parent), MainWindow(parent)
{
setupUi(this);
QUrl url("http://google.com"); //whatever
webView->load(url);
}///////////////////////////////////////////////////////////////////////////////
//
// OnlineDB class destructor
//
// Clean up the OnlineDB
//
OnlineDB::~OnlineDB()
{
}
Я получил несколько ошибок связывания
Плз может кто то помочь по этому поводу?
3> Образцы …
3> onlinedb.obj: ошибка LNK2019: неразрешенный внешний символ «__declspec (dllimport) public: void _thiscall QWebView :: load (класс QUrl const &) «(_imp_? load @ QWebView @@ QAEXABVQUrl @@@ Z), на которую ссылается функция «public: __thiscall OnlineDB :: OnlineDB (класс LkMainWindow *)» (?? 0OnlineDB @@ QAE @ PAVLkMainWindow @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual struct QMetaObject const * __thiscall OnlineDB :: metaObject (void) const» (? MetaObject @ OnlineDB @@ UBEPBUQMetaObject @@ XZ)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual void * __thallall OnlineDB :: qt_metacast (char const *)» (? Qt_metacast @ OnlineDB @@ UAEPAXPBD @ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual int __thiscall OnlineDB :: qt_metacall (enum QMetaObject :: Call, int, void * *)» (? Qt_metacall @ OnlineDB @@ UAEHW4Call @ QMetaObject @ HPAP Z)
3> onlinedb.obj: ошибка LNK2019: неразрешенный внешний символ «__declspec (dllimport) public: void _thiscall QWebView :: setUrl (класс QUrl const &) «(_imp_? setUrl @ QWebView @@ QAEXABVQUrl @@@ Z), ссылка на которую есть в функции «public: void __thiscall Ui_OnlineDB :: setupUi (class QDialog *)» (? setupUi @ Ui_OnlineDB @@ QAEXPAVQDialog @@@ Z)
3> onlinedb.obj: ошибка LNK2019: неразрешенный внешний символ «__declspec (dllimport) public: __thiscall QWebView :: QWebView (класс QWidget *)» (_чертенок??0QWebView @@ QAE @ PAVQWidget @@@ Z) упоминается в функции «public: void __thiscall Ui_OnlineDB :: setupUi (class QDialog *)» (? SetupUi @ Ui_OnlineDB @@ QAEXPAVQDialog @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual struct QMetaObject const * __thiscall QWebView :: metaObject (void) const» (? MetaObject @ QWebView @@ UBEPBUQMetaObject @@ XZ)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual void * __thallall QWebView :: qt_metacast (char const *)» (? Qt_metacast @ QWebView @@ UAEPAXPBD @ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual int __thiscall QWebView :: qt_metacall (enum QMetaObject :: Call, int, void * *)» (? Qt_metacall @ QWebView @@ UAEHW4Call @ QMetaObject @ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual bool __thiscall QWebView :: event (class QEvent *)» (? Event @ QWebView @@ UAE_NPAVQEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: virtual class QSize __thiscall QWebView :: sizeHint (void) const» (? SizeHint @ QWebView @@ UBE? AVQSize @@ XZ)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействителен __позволяет QWebView :: mousePressEvent (класс QMouseEvent *)» (? MousePressEvent @ QWebView @@ MAEXPAVQMouseEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: mouseReleaseEvent (класс QMouseEvent *)» (? MouseReleaseEvent @ QWebView @@ MAEXPAVQMouseEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: mouseDoubleClickEvent (класс QMouseEvent *)» (? MouseDoubleClickEvent @ QWebView @@ MAEXPAVQMouseEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: mouseMoveEvent (класс QMouseEvent *)» (? MouseMoveEvent @ QWebView @@ MAEXPAVQMouseEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: wheelEvent (класс QWheelEvent *)» (? WheelEvent @ QWebView @@ MAEXPAVQWheelEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный пустота __позволяет QWebView :: keyPressEvent (класс QKeyEvent *)» (? KeyPressEvent @ QWebView @@ MAEXPAVQKeyEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействителен __позволяет QWebView :: keyReleaseEvent (класс QKeyEvent *)» (? KeyReleaseEvent @ QWebView @@ MAEXPAVQKeyEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищено: виртуальная пустота __проверка QWebView :: focusInEvent (class QFocusEvent *)» (? FocusInEvent @ QWebView @@ MAEXPAVQFocusEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищено: виртуальная пустота __проверка QWebView :: focusOutEvent (класс QFocusEvent *)» (? FocusOutEvent @ QWebView @@ MAEXPAVQFocusEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный вакуум» __thiscall QWebView :: paintEvent (class QPaintEvent *) «(? PaintEvent @ QWebView @@ MAEXPAVQPaintEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: resizeEvent (класс QResizeEvent *)» (? ResizeEvent @ QWebView @@ MAEXPAVQResizeEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: contextMenuEvent (класс QContextMenuEvent *)» (? ContextMenuEvent @ QWebView @@ MAEXPAVQContextMenuEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищено: виртуальная пустота __thiscall QWebView :: dragEnterEvent (класс QDragEnterEvent *)» (? DragEnterEvent @ QWebView @@ MAEXPAVQDragEnterEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищено: виртуальная пустота __thiscall QWebView :: dragMoveEvent (класс QDragMoveEvent *)» (? DragMoveEvent @ QWebView @@ MAEXPAVQDragMoveEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищено: виртуальная пустота __thiscall QWebView :: dragLeaveEvent (класс QDragLeaveEvent *)» (? DragLeaveEvent @ QWebView @@ MAEXPAVQDragLeaveEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный вакуум» __thiscall QWebView :: dropEvent (класс QDropEvent *) «(? DropEvent @ QWebView @@ MAEXPAVQDropEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействителен __позволяет QWebView :: changeEvent (класс QEvent *)» (? ChangeEvent @ QWebView @@ MAEXPAVQEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный недействительный __thiscall QWebView :: inputMethodEvent (класс QInputMethodEvent *)» (? InputMethodEvent @ QWebView @@ MAEXPAVQInputMethodEvent @@@ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «public: виртуальный класс QVariant __thiscall QWebView :: inputMethodQuery (enum Qt :: InputMethodQuery) const» (? InputMethodQuery @ QWebView @@ UBE? AVQVariant @ Q@ho@t4 Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный bool __thiscall QWebView :: focusNextPrevChild (bool)» (? FocusNextPrevChild @ QWebView @@ MAE_N_N @ Z)
3> onlinedb.obj: ошибка LNK2001: неразрешенный внешний символ «защищен: виртуальный класс QWebView * _thiscall QWebView :: createWindow (enum QWebPage :: WebWindowType) «(? createWindow @ QWebView @@ MAEPAV1 @ W4WebWindowType @ QWebPage @@@ Z)
3> onlinedb.obj: ошибка LNK2019: неразрешенный внешний символ «_declspec (dllimport) public: virtual _thiscall QWebView :: ~ QWebView (void) «(_imp _ ?? 1QWebView @@ UAE @ XZ) упоминается в функции «public: virtual void * __thiscall QWebView ::` скалярное удаление деструктора ‘(unsigned int) «(?? _ GQWebView @@ UAEPAXI @ Z)
unresolved external symbol "public: virtual int __thiscall OnlineDB::qt_metacall(enum QMetaObject::Call,int,void * *)
Вы не сделали свой OnlineDB
или вы не связали объектный файл.
error LNK2019: unresolved external symbol "__declspec(dllimport) public: void _thiscall QWebView::load(class QUrl const &)"
Вы не связались со всеми необходимыми библиотеками Qt. QWebView
находится в QtWebKit
библиотека.
Других решений пока нет …