ビューポートを希望の寸法に設定できません。指定したにもかかわらず(1980×1080)、結果の寸法は(1366×855)です。 pyqtgraphの3D例もフルスクリーンを表示せず、左下隅にのみ配置されています。GLViewWidgetビューポートサイズ
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の描画可能領域の中央に表示されます。
何か助けていただければ幸いです。
実際の描画可能領域は、glClearColorを赤のように見えるものに設定して確認しましたか?レンダリングコードの中でglViewportを直接呼び出そうとしましたか? –
両方を試しても何の効果もないようです。 'glClearColor(1,1,0,1)' 'glViewport(0、0、2880、1800)' – deepSymmetry
これは網膜のスクリーンですか? MacOS Xには、ウィンドウ/ビューのサイズとビューポートのディメンションに関するいくつかのルールがあります。そうでなければ、私はGLGridItemのソースを読む以外のアイデアがありません –