Python PyQt5からPyQt6に移行する際のAttributeError: ‘QApplication’ object has no attribute ‘exec_’の対処方法を説明する。
結論
PyQt5:app.exec_()
PyQt6:app.exec()
コード例
下記GUIアプリを例に説明する。
PyQt5のコード
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
class GuiWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.label0 = QLabel('ラベル0', self)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = GuiWindow()
sys.exit(app.exec_()) # ?
PyQt6のコード
#!/usr/bin/env python3
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QLabel
class GuiWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.label0 = QLabel('ラベル0', self)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = GuiWindow()
sys.exit(app.exec()) # ?
差分
まとめ
’QApplication’ object has no attribute ’exec_’の対処方法を説明した。
コメント