1

いくつかの int 値を設定するための LineEdit を持つウィジェットがあります。それを簡単にするために、その値を変更する QSlider を表示する追加の QToolButton があります。

重要: スライダーは最初は隠されています! ボタンが押された場合にのみ表示されます。20 個の SliderWidgets が一列に並んでいる場合、定義済みのレイアウトに配置すると、それぞれのスペースが無駄になります。ポップアップまでスペースが必要ない場合は、ウィンドウの調整が必要になります。

スクリーンショットは ValueSelectorWidget を表しています。それらの複数をリストしています。

ValueSelectorWidget クラスには次のものがあります。

valveSlider = new QSlider(Qt::Horizontal, this);

スクリーン ショットでわかるように、左側のツールボタンをクリックすると、QSlider が表示されます。 スクリーンショット

this上記の QSlider オブジェクト作成のため、ValueSelectorWidget の左上にあります。

左の ToolButton (sliderButton) の周りにそのスライダーを配置するにはどうすればよいですか?

  QPoint sliderButtonPos = sliderButton->pos();
  sliderButtonPos.rx() + 50 ;
  sliderButtonPos.ry() + 50;

  valveSlider->setGeometry(sliderButtonPos.x(), sliderButtonPos.y(), 120, 20);

次のように:スクリーンショット赤いドット ボタンを押すと、その横または現在のマウス位置の横にスライダーが表示されます。

しかし、それもうまくいきませんでした。助言がありますか?事前にサンクス。

4

2 に答える 2

0

座標を使用して GUI を設計しないでください。代わりに、Qt によって提供されるさまざまなレイアウトを使用してください

ウィジェットが完全に配置されたので、スライダーを非表示/表示するための @johngull の回答を検討してください。たとえば、ボタンの onClick 信号を接続して、スライダーの表示を切り替えることができます

于 2015-10-16T14:33:07.243 に答える