model view controller - MVC in qt and problem with interfaces -



model view controller - MVC in qt and problem with interfaces -

i want create view , pass controller via constructor.

so, i've created interface:

#include <qstring> class imainview { public: virtual ~imainview() {} virtual void setwindowtitle1(qstring &title) = 0; }; q_declare_interface(imainview, "imainview/1.0");

then created view:

class mainwindow : public qmainwindow, imainview { q_object q_interfaces(imainview) public: explicit mainwindow(qwidget *parent = 0); ~mainwindow(); void setwindowtitle1(qstring &title); private: ui::mainwindow *ui; };

mainwindow imainview. have pass instance of imainview controller, because each controller register view:

#include "maincontroller.h" maincontroller::maincontroller(imainview *v) { qstring title = "my application"; v->setwindowtitle1(title); } maincontroller::maincontroller() { }

and got error: e:\pm\pm\mainapplication\imainview.h:13: error: c2259: 'imainview' : cannot instantiate abstract class due next members: 'void imainview::setwindowtitle1(qstring &)' : abstract

in c# works, in qt not.

thanks

sorry, wrong question. problem interface, abstract class (imainview.h):

#include <qstring> class imainview { public: virtual ~imainview() {} virtual void setwindowtitle1(qstring &title) = 0; }; q_declare_interface(imainview, "imainview/1.0");

and class have attached mainwindow header file (mainwindow.h):

#ifndef maincontroller_h #define maincontroller_h #include "imainview.h" //here error class maincontroller { public: //maincontroller(imainview *v); maincontroller(); }; #endif // maincontroller_h

and got error:

e:\pm\pm\mainapplication\imainview.h:13: error: c2259: 'imainview' : cannot instantiate abstract class due next members: 'void imainview::setwindowtitle1(qstring &)' : abstract

thanks

you need implement setwindowtitle1 in class mainwindow, missed. that's plain c++ , not special qt.

model-view-controller qt interface

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

c# - Can ProtoBuf-Net deserialize to a flat class? -

javascript - Change element in each JQuery tab to dynamically generated colors -