Sunday 15 May 2011

c++ - Qt 5.3 QWidget::paintEngine : Should no longer be called -



c++ - Qt 5.3 QWidget::paintEngine : Should no longer be called -

i'm moving code qt 4.x qt 5.3 , running weird qt warning shown in command prompt. there no errors or command prompt show following:

qwidget::paintengine: should no longer called qpainter::begin: paint device returned engine == 0, type: 1 qpainter::setclipregion: painter not active qpainter::setcliprect: painter not active

i believe narrowed downwards 1 class: header:

#pragma 1 time #include <qtcore\qmetaobject.h> #include <qtwidgets\qwidget.h> #include <qtwidgets\qslider.h> #include <qtwidgets\qpushbutton.h> #include <qtwidgets\qcheckbox.h> #include "myglwindow.h" #include <qtwidgets\qhboxlayout> #include <qtwidgets\qvboxlayout> #include <qtwidgets\qmenubar.h> #include <qtwidgets\qlabel.h> class mewidg : public qglwidget { public: qtimer mytimer; bool testtoggle; float testrow; bool notoggle; myglwindow *gameglwindow; mewidg(); private: void myupdate(); void loadmodel(); };

and source:

#include "mewidg.h" #include "debugmenu.h" mewidg::mewidg() { qvboxlayout* mainlayout=new qvboxlayout(); setlayout(mainlayout); qhboxlayout* setuplayout=new qhboxlayout(); setwindowtitle("game creator"); qhboxlayout *game =new qhboxlayout(); gameglwindow=new myglwindow(); debugmenu.initialize(setuplayout); debugmenu.addlayout("world"); qmenubar* mb=new qmenubar(); mb->setmaximumheight(20); qmenu* filemenu = mb->addmenu("file"); qaction* action; filemenu->addaction(action = new qaction("load project", this)); //action->setshortcut(qkeysequence::open); //connect(action, signal(triggered()), this, slot(loadobj())); filemenu->addaction(action = new qaction("save project", this)); //action->setshortcuts(qkeysequence::save); //connect(action, signal(triggered()), this, slot(savenative())); filemenu->addseparator(); filemenu->addaction(action = new qaction("load level", this)); //action->setshortcuts(qkeysequence::save); //connect(action, signal(triggered()), this, slot(loadlvl())); filemenu->addaction(action = new qaction("save level", this)); //action->setshortcuts(qkeysequence::save); //connect(action, signal(triggered()), this, slot(savenative())); filemenu->addseparator(); filemenu->addaction(action = new qaction("close", this)); //action->setshortcuts(qkeysequence::save); //connect(action, signal(triggered()), this, slot(savenative())); qmenu* objectmenu=mb->addmenu("objects"); objectmenu->addaction(action=new qaction("load model", this)); //action->setshortcut(qkeysequence::open); connect(action, &qaction::triggered, [=]() { this->loadmodel();}); objectmenu->addaction(action=new qaction("add light", this)); //action->setshortcut(qkeysequence::open); //connect(action, signal(triggered()), this, slot(loadobj())); objectmenu->addaction(action=new qaction("add sound", this)); //action->setshortcut(qkeysequence::open); //connect(action, signal(triggered()), this, slot(loadobj())); objectmenu->addaction(action=new qaction("add game object", this)); //action->setshortcut(qkeysequence::open); //connect(action, signal(triggered()), this, slot(loadobj())); mainlayout->addwidget(mb); game -> addwidget(gameglwindow,1, 0); setuplayout -> addlayout(game); gameglwindow->setminimumheight(600); gameglwindow->setminimumwidth(500); mainlayout->addlayout(setuplayout, 1); connect(&mytimer, &qtimer::timeout, [=]() { this->myupdate(); }); mytimer.start(16); } void mewidg::myupdate() { debugmenu.update(); if(getasynckeystate(vk_escape) && !notoggle) { notoggle=true; debugmenu.togglevisibility(); } else if(!getasynckeystate(vk_escape) && notoggle) { notoggle=false; } } void mewidg::loadmodel() { gameglwindow->loadmodel(); }

would know why getting these warnings? none of widgets have been using showing up, thing shows blank box layouts used be. if can't figure out prolly go qt 4.x.

you not showing relevant part of code. there seems custom widget calls paintengine() method on it's base of operations class (which not allowed). find widget finding paintengine() phone call , prepare it.

c++ qt

No comments:

Post a Comment