質問するログイン新規登録

質問編集履歴

3

追記しました。

2019/06/06 01:46

投稿

Ykkykk
Ykkykk

スコア140

title CHANGED
File without changes
body CHANGED
@@ -95,4 +95,8 @@
95
95
  gui = Browser()
96
96
  sys.exit(app.exec_())
97
97
  ```
98
- 上記のように```global app```を追加したところ、コアダンプが発生しなくなったのですが、適切な修正なのでしょうか?また、なぜ上記のように追記するとコアダンプが発生しなくなったのでしょうか?
98
+ 上記のように```global app```を追加したところ、コアダンプが発生しなくなったのですが、適切な修正なのでしょうか?また、なぜ上記のように追記するとコアダンプが発生しなくなったのでしょうか?
99
+
100
+ ## 追記3
101
+ [Pythonの変数スコープの話](https://qiita.com/msssgur/items/12992fc816e6adf32cff)
102
+ 上記サイトを閲覧したのですが、Pythonの変数のスコープの問題でQMainWindowを閉じるタイミングとQWebEngineViewを閉じるタイミングがうまくいっていなかったのでしょうか?

2

説明を追記しました

2019/06/06 01:45

投稿

Ykkykk
Ykkykk

スコア140

title CHANGED
File without changes
body CHANGED
@@ -83,4 +83,16 @@
83
83
  ## 追記
84
84
  [QWebEngineView cannot be deleted or closed normally](https://bugreports.qt.io/browse/QTBUG-57228)
85
85
  上記リンクが同じエラーなのかはわかりませんが、QWebEngineViewが正常に終了しないというようなものを見つけています。
86
- 上記に示したコードではやはり終了処理がうまくいっていないのでしょうか?
86
+ 上記に示したコードではやはり終了処理がうまくいっていないのでしょうか?
87
+
88
+ ## 追記2
89
+ [Things to be Aware Of Crashes On Exit](https://www.riverbankcomputing.com/static/Docs/PyQt5/gotchas.html#crashes-on-exit)
90
+ 上記のPyQtサイトを閲覧し、```def main()```を以下のように修正したところコアダンプが発生しなくなりました。
91
+ ```python
92
+ def main():
93
+ global app # 追加
94
+ app = QApplication(sys.argv)
95
+ gui = Browser()
96
+ sys.exit(app.exec_())
97
+ ```
98
+ 上記のように```global app```を追加したところ、コアダンプが発生しなくなったのですが、適切な修正なのでしょうか?また、なぜ上記のように追記するとコアダンプが発生しなくなったのでしょうか?

1

説明を追記しました

2019/06/06 01:42

投稿

Ykkykk
Ykkykk

スコア140

title CHANGED
File without changes
body CHANGED
@@ -78,4 +78,9 @@
78
78
  ```
79
79
  メッセージからQWebEnginePageというものが正常に終了できていない、あるいはPyQtのプログラムとしては閉じられているのにウェブページを表示している部分が終了できていないことが原因なのかと思っています。
80
80
  どのように修正すれば正常に終了させることができるのでしょうか?
81
- ご教示いただけますと幸いです。よろしくお願いいたします。
81
+ ご教示いただけますと幸いです。よろしくお願いいたします。
82
+
83
+ ## 追記
84
+ [QWebEngineView cannot be deleted or closed normally](https://bugreports.qt.io/browse/QTBUG-57228)
85
+ 上記リンクが同じエラーなのかはわかりませんが、QWebEngineViewが正常に終了しないというようなものを見つけています。
86
+ 上記に示したコードではやはり終了処理がうまくいっていないのでしょうか?