В своем коде вы указываете, что в Qt
есть член с именем Widget
, который явно неверен, я рекомендую вам проанализировать то, что вы предоставляете, поскольку его можно квалифицировать как опечатку.
Но даже исправление этой ошибки не будет работать, поскольку, если вы реализуете класс данных в классе, который наследуется от другого класса, вы должны реализовать метод __post_init__
, где вы должны вызвать super()
метод:
from dataclasses import dataclass
import sys
from PyQt5 import QtWidgets
@dataclass
class Demo(QtWidgets.QWidget):
name: str = "jim"
addr: str = "usa"
def __post_init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
win = Demo()
print(win.name, win.addr)
win.show()
sys.exit(app.exec_())