3

次のように GridLayout に 2 つの QSliders を配置しました。

layout = new GridLayout();

layout->addWidget(slider_horizontal, 0, 1, 1, 2);
layout->addWidget(slider_vertical, 1, 0, 2, 1);

両方とも異なる行と列に配置されているため、これは 2x2 マトリックスを形成します。私が欲しいのは、右下隅の未使用のセルを削除することです(位置: 1,1)。

問題は、このセルが私の QGraphicsView で行われており、その領域を選択できないようにしているということです。

後で私はこれを作ります:

sliderWidget = new QWidget(graphicsView);
sliderWidget = setLayout(layout); 

ここで、graphicsView は QGraphicsView です。

私が最初に考えたのは、これは不可能であり、この問題を回避する必要があるということでした。しかし、これが可能かどうかを確認したいと思います。

また、未使用のセルをグラフィックス ビューで占有しないようにする他の方法があるかどうかも知りたいです。

4

1 に答える 1

1

グラフィックス ビュー全体を右下のセル内に配置するのはどうですか? このスライダーはグラフィック ビューの外にありますが、通常は問題になりません。

大きなシーンの小さな部分を表示するビューのスクロールバーだけが実際に必要かどうかはわかりません。その場合は、これらを使用できます。

QGraphicsView::setVerticalScrollBarPolicy(...)
QGraphicsView::setHorizontalScrollBarPolicy(...)
于 2012-07-13T07:58:47.543 に答える