私は複数のスライダーを含む1つのQWidgetを持っています。すべてのスライダはメインのQWidgetサイズにリサイズされます。結果として、すべてのスライダは同じドローイング矩形を共有します。スライダーの場合、私はpaintEvent
メソッドをオーバーロードするので、必要なものだけが描画されます。ここではサンプルコードです:複数のウィジェットをオーバーレイする
class MySlider : public QSlider
{
void paintEvent(QPaintEvent *event) {
...
}
}
class MyWidget : public QWidget
{
MyWidget() : QWidget() {
slider1 = new MySlider(this);
slider2 = new MySlider(this);
slider1->resize(rect().width(), rect().height());
slider2->resize(rect().width(), rect().height());
}
MySlider * slider1;
MySlider * slider2;
}
ADSF(私たちはQSlider :: paintEventを呼び出すことはありませんので)
グルーヴが、このソリューションでは見られないが、それはまだ存在しています。このウィジェットでは、最後に作成したスライダー(slider2
)のみを使用することができます。残りは見えますが、利用できません。
複数のウィジェットをお互いにオーバーレイすることはできますが、それでもマウスイベントですべてのウィジェットにアクセスすることはできますか?