Python | PyQt5からPyQt6へ移行(app.exec()編)AttributeError: ’QApplication’ object has no attribute ’exec_’

GUI App

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_’の対処方法を説明した。

コメント