1

QWidgetwithの新しいサブクラスを作成していnew TestView; ます。そのステートメントを呼び出すと、新しいウィンドウが開きます。

さらに、このウィジェットをレイアウトに追加すると、ウィンドウが「閉じ」、ウィジェットが最初のレイアウトに表示されます。

ウィジェットが新しいウィンドウとして表示されないようにするにはどうすればよいですか?

誰か助けてもらえますか?

4

2 に答える 2

5

ウィジェットが新しいウィンドウとして表示されないようにするにはどうすればよいですか?

これは、ウィジェットをレイアウトに追加する前にウィジェットが表示されているために発生します。オブジェクトを呼び出しているshow()raise()、オブジェクトの早い段階で呼び出しているかTestView、親ウィジェットでオブジェクトが作成されてからレイアウトに追加されるまでの間に同じことを行います。

コンストラクターでウィジェットを表示する場合、それは本当に悪い考えです。

于 2012-12-11T10:53:36.037 に答える
2

同じ問題があり、レイアウトに追加する直前にウィジェットの表示を無効にし、直後に再度有効にするという小さなハックを実行できることがわかりました。

self.widget.setVisible(False)
self.tab.layout().addWidget(self.widget)
self.widget.setVisible(True)

それが少なくともそこにいる誰かのために働くことを願っています!

(これはPySide2用です)

于 2019-04-27T11:19:11.833 に答える