本文主要是介绍QT6.0以上版本的WheelEvent事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
QT6以上版本,兼容了不同的图形库,不仅仅是opengl。但是以前的项目升级会带来很多问题,如果不是切换图形库,目前不建议考虑升级到PT6,而且说明文档不够完善,很多特性无法匹配。
QT6 中wheelEvent事件中orientation() 被 angleDelat()取代了,但是怎么用能找到的资料很少。找了好久才找到一点线索https://forum.qt.io/topic/57922/qwheelevent-orientation-replaced-with-angledelta。感觉被坑了。
void GLWidget::wheelEvent( QWheelEvent* event ){QPoint numPixels = event->pixelDelta();QPoint numDegrees = event->angleDelta() / 8;int ex = numDegrees.x(), ey = numDegrees.y();osgGA::GUIEventAdapter::ScrollingMotion sm;if(ex != 0) // x horizontal{sm = ex > 0 ? osgGA::GUIEventAdapter::SCROLL_LEFT : osgGA::GUIEventAdapter::SCROLL_RIGHT;}else if(ey != 0) // y vertical{sm = ey > 0 ? osgGA::GUIEventAdapter::SCROLL_UP : osgGA::GUIEventAdapter::SCROLL_DOWN;}setKeyboardModifiers( event );_gw->getEventQueue()->mouseScroll(sm);}
这篇关于QT6.0以上版本的WheelEvent事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!