我无法将视口设置为所需的尺寸。尽管指定(1980 x 1080),但结果尺寸为(1366 x 855)。 pyqtgraph中的3D示例也不显示全屏,仅位于左下角。
import pyqtgraph.opengl as gl
from PyQt5 import QtWidgets
from pyqtgraph.Qt import QtCore
app = QtWidgets.QApplication([])
view = gl.GLViewWidget()
view.opts['viewport'] = (0, 0, 1920, 1080)
view.showMaximized()
view.setMaximumSize(1920, 1080)
print ("%d %d" % (view.height() , view.width()))
view.setWindowTitle('3D Matrix Visualization')
## create three grids, add each to the view
xgrid = gl.GLGridItem()
ygrid = gl.GLGridItem()
zgrid = gl.GLGridItem()
view.addItem(xgrid)
view.addItem(ygrid)
view.addItem(zgrid)
## rotate x and y grids to face the correct direction
xgrid.rotate(90, 0, 1, 0)
ygrid.rotate(90, 1, 0, 0)
## scale each grid differently
xgrid.scale(0.2, 0.1, 0.1)
ygrid.scale(0.2, 0.1, 0.1)
zgrid.scale(0.1, 0.2, 0.1)
如果我在不更改视口设置的情况下运行代码,则showMaximized()
的父窗口将全屏显示。但是可绘制区域被限制在左下角屏幕的1/4处。
view.opts['viewport'] = (0, 0, 1920, 1080)
使用上面的代码,确实使可绘制区域更大,但是它不足以覆盖最大化的屏幕。它是1366x855。网格/轴显示在右上角,而不是1366x855的中心。在默认模式下,网格/轴显示在1/4可绘制区域的中心。
感谢任何帮助。
答案 0 :(得分:0)
GLViewWidget是QtOpenGL.QGLWidget的子类,如PyQtGraph's Doc所示。
因此,也许我们可以在调整父窗口小部件的同时使用view.setFixedSize(WidthOfParent, HeightOfParent)
来调整视口的大小。
答案 1 :(得分:0)
对于具有Retina显示屏的Mac:问题可能是Mac在进行高DPI缩放时试图使用虚拟分辨率,而pyqtgraph使用物理分辨率。
它应该已经在最新的pyqtgraph github分支(link)中修复,但是最新的PYPI版本自2016年以来就没有更新,因此请尝试按照官方建议直接从github安装pip:
>pip install git+https://github.com/pyqtgraph/pyqtgraph