8

QtGui.QTabWidget私はそれに追加された拡張メインウィンドウを持っています。QtGui.QWidgetタブウィジェットに追加および削除できる拡張ウィジェットをいくつか作成しています。

私がやりたいのは、子ウィジェットをタブウィジェットから削除して、独自の独立したウィンドウとして表示する「ポップアウト」ボタン(およびそれを元に戻す「ポップイン」ボタン)を用意することです。メインウィンドウ)。Gtalk-in-Gmailと同じ種類のアイデア。メインウィンドウを閉じると、他の「タブ」または「ウィンドウ」も閉じるはずであり、すべてのウィンドウを並べて表示し、同時に更新できるようにする必要があることに注意してください。(ほぼリアルタイムのデータを表示します)。

私はQtを初めて使用しますが、間違いがなければ、ウィジェットに親がない場合は独立して表示されます。これは機能しますが、ウィンドウを「ポップ」する方法がわかりません。

class TCWindow(QtGui.QMainWindow): 
    .
    .
    .
    def popOutWidget(self, child):
        i = self.tabHolder.indexOf(child)
        if not i == -1:
             self.tabCloseRequested(i)
        self.widgets[i].setParent(None)
        self.widgets[i].show()

私の腸は、2つの間にまだ親子関係があるべきだと言っています。

親を維持しながらウィンドウを独立して表示する方法はありますか、それともQtのスタイルを誤解していますか?

そうでなければ、メインウィンドウへのリンクを保持するために子に変数を作成するself.parentalUnit = self.parent()ことは良い考えですか、それともハック/厄介な考えですか?

4

2 に答える 2