2

モードレス ダイアログを作成するメイン ウィンドウがあります。これはうまく機能していますが、ダイアログは常にメイン ウィンドウの前面にあります。メイン ウィンドウに戻り、それを使用してフォーカスを移しても、ダイアログは常に一番上に表示されたままです。メイン ウィンドウをダイアログの上にスライドできません。

メインウィンドウの自己を親としてダイアログに渡しています。

#In my main window
self.beacon_dlg = dialog_beacon.BeaconDialog(self)

#In the dialog class
class BeaconDialog(QDialog, ui_dialog_beacon.Ui_Dlg_beacon_soh):
    def __init__(self, parent):
        super(BeaconDialog, self).__init__(parent)
        self.setupUi(self)

メイン ウィンドウをダイアログの前に表示し、メイン ウィンドウを閉じたときにダイアログを閉じる方法 (親コントロール) はありますか?

(私は Windows で PyQt 4.10 と Python 2.7 を使用しています)

ありがとう。

4

2 に答える 2

0

QDialog Class Referenceから:「ダイアログは常にトップレベルのウィジェットですが、親がある場合、そのデフォルトの位置は親のトップレベルのウィジェットの中央に配置されます (それ自体がトップレベルでない場合)。それは親のタスクバー エントリも共有します。」

代わりにQWidgetを使用してみてください。

于 2013-11-12T07:26:31.347 に答える