大変困っております。
先日に続けてまたわからないことがでてきました。
QDialogで、
self.setLayout(layout_1)
を行ったあと、
DialogのWindow内に表示される情報を変えたく思い、
(実際には、ボタンを押した時に"layout_2"に変えたい。)
再び、
self.setLayout(layout_2)
とした時、
QWidget::setLayout: Attempting to set QLayout "" on ○○Dialog "", which already has a layout
(○○Dialogにはクラス名が書かれています。)
という、エラーメッセージがでます。
その時、ウィンドウには何も表示されていない状態です。
意味合いとしては「すでにこのダイアログには設定されたLayoutがあります。」
というふうに理解しております。(正しいかどうかはわからない)
解決策としては、
①一度、今あるDialogウィンドウを閉じたあと、"layout_2"を「setLayout」としたWindowを表示させるという、手段を取る。
②(できるかわからないけれど、)今あるDialogウィンドウは閉じずに、設定されているLayoutをリセットして、改めて
self.setLayout(layout_2)とする、手段を取る。
のどちらかかなぁ、と思うのですが、
できれば、②のほうが実装しやすいので、
②の方法を取りたいのですが、如何せんリセットする方法がどこを探しても見当たらないのです。
QtのドキュメントやPyQtのドキュメント、有用そうなサイトを探したのですが、一向に見当たらず
質問させてもらった次第です。
書いたコードを全て晒すわけにもいかず、できる限りわかるように説明したつもりではいるのですが、
補足してほしい情報などがございましたらお答えしますので、
皆様の情報をお待ちしております。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/14 04:24
2016/10/14 13:28
2016/10/26 01:45