0

まず第一に、私は Qt と Qt Creator にかなり慣れていないので、これがばかげた質問であれば簡単に答えてください。

私は Qt Creator を使って練習し、css スタイルをいじっていました。特に、メニューバーとそのメニューを次のように表示しようとしています (Windows の場合): http://i.stack.imgur.com/9lMnQ.png

ただし、これまでに取得できた最も近いものはhttp://i.stack.imgur.com/5Nlen.pngです。

誰かがこのようなことを試みたかどうかをオンラインで検索しましたが、何も見つけることができませんでした.

私が考えることができる唯一の可能な解決策は、メニューバー項目 (下の境界線なし) をメニューの上にレンダリングして、それらが重なるようにし、重なっている幅の上にその上端の境界線を覆うことができる場合です。

それがうまくいかない、または不可能な場合は、他の解決策/回避策/ハックを提案してください。

前もって感謝します!

4

1 に答える 1

0

唯一の良い解決策は、トリックを避けて新しいウィジェットを作成することだと思います。

  • QWidget属性を持つから継承された新しいクラスを作成しQt::Popupます。
  • QMenuをウィジェットのレイアウトに配置します。
  • QMenuBarを使用してクリックされたアイテムの位置を取得しますQMenuBar::getActionGeometry
  • メニューバー項目の上に配置されるウィジェットとウィジェット内のタブの位置を計算します。
  • を使用してウィジェットのフォームをカスタマイズQWidget::setMaskし、タブ付きの長方形のように見せます。
  • の代わりにウィジェットを表示しますQMenu
于 2014-10-01T09:07:08.760 に答える