继续接着将其嵌入到窗口里面.嵌入的关键是利用QWidget.winId(),将NameValuePairList中的'externalWindowHandle'值设为要嵌入窗口的Handle,
这样则可以嵌入了

结合QtDesignerpyuic4将界面导出成Ui_MainWindow.py,而后继承一个MainWindow类,在这个基础上将ui包含进来,将界面与代码分离,则可以继续往下写。现在的效果如下,弄了好久,不知道,窗口的大小为什么不能调.

为什么只显示一部分呢?改变frame的大小也没有作用。 

后来,改了一下,将在初始化OgreView的时候,将窗口idstring传入到其中作为参数。最后可以显示如下的图片。但仍不能达到效果,需要再改一下。

后来通过跟踪之后,发现是在resizeEventevent中传入的size().width(),size().height()的值是100,30,过小,并且将原来在setupViewport中改用getActualWidth(),getActualHeight()等来做。

self.mCamera.setAspectRatio(float(self.mViewport.getActualWidth())/float(self.mViewport.getActualHeight()) )

现在,需要做的是将resizeEvent中的值改掉。查一下它那里是出了什么问题。

下图是去除了resizeEvent的情况.

现在可以算是有个初始的可显示的版本。

TODO但是resizeEvent迟早要搞定,因为后面对窗口缩放的时候必然会改变窗口的大小。
现在还暂时不知道PyQt4中的resizeEvent中为什么其event得到的size()不是窗口的大小,而是一个很小的值,就像第一张图片一样,现在还暂时
不知道如何更正这个错误。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


posts - 15, comments - 2, trackbacks - 0, articles - 29

Copyright © 美洲豹