QGraphicsViewから継承した自分のウィジェットを挿入するQMainWindowを持つアプリケーションがあります。私はビューポートとしてQGLWidgetを使用します。すべて正常に動作しますが、Hidh DPIでは問題があります。私のウィジェット(QGraphicsViewから継承)は非常に小さいです。QGraphicsView高DPIによるスケーリング
やったvoid MyWidget::onNeedResize(QRect newGeom)
{
// some logic, that not interact with GUI stuff
setGeometry(newGeom);
setSceneRect(QRect(QPoint(0, 0), newGeom.size()));
// more logic, that not interact with GUI stuff
}
:私は
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
により、高DPIのサポートを有効にして、私のウィジェットで、私は(コード内の深いQMainWindowから来る信号から)以下かはQApplicationの作成前に
私は逃した?問題はどこですか?
UPD1:私ははQOpenGLWidgetでQGLWidgetを置き換え、すべてが期待と同じように仕事を始めました!修正/計算/追加のものなし。フラグの設定で十分です。しかし、問題はQGLWidgetの代わりにQOpenGLWidgetを使うことができないことです。
ありがとうございました。私は上記のコードを使用して、私のウィンドウの領域はちょうど黒です。しかし、面白いのは、サイズを大きくしてウィンドウのサイズを変更すると、QGraphicsViewの底なしがわかります。 QGraphicsViewのy-coord == MainWindowのボトムコード – user2123079
ジオメトリを設定するときに、x座標とy座標を '(0,0)'に設定してみましょう。 – vicrucann
つまり、 'setGeometry(QRect(0,0、...))' – vicrucann