1. ホーム
  2. パイソン

AttributeError: 'mywindow' オブジェクトには 'setCentralWidget' という属性がありません。

2022-01-24 01:54:34

エラー発生前のコードです。

class mywindow(QtWidgets.QWidget, Ui_MainWindow):
    def __init__(self):
        super(mywindow,self). __init__()
        self.setupUi(self)

    #Define the slot function
    def hello(self):
        self.textEdit.setText("hello world")

app = QtWidgets.QApplication(sys.argv)
window = mywindow()
window.show()
sys.exit(app.exec_())

エラーの原因は、pyqtデザイナーがWidgetの代わりにMainWindowを作成していることです。

回避策:QtWidgets.QWidgetをQtWidgets.QMainWindowに変更する。

修正後

class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(mywindow,self). __init__()
        self.setupUi(self)

    #Define the slot function
    def hello(self):
        self.textEdit.setText("hello world")

app = QtWidgets.QApplication(sys.argv)
window = mywindow()
window.show()
sys.exit(app.exec_())


参考リンク https://stackoverflow.com/questions/43260595/attributeerror-ui-mainwindow-object-has-no-attribute-setcentralwidget-pyqt5