ich habe einer Klasse ein Signal hinzugefügt (als Klassen-Variable), die IDE meldet : object has no attribute 'emit'
Beim Debuggen steigt die Anwendung ohne Fehlermeldung aus.
Hier der Code (auszugsweise)
Code: Alles auswählen
class ThemeSwitcherClass(object):
theme_switched = Signal(bool)
def __init__(self, app: QApplication, default_palette: QPalette, dark_theme: bool = False, klc: str = 'Orange'):
self._default_palette = default_palette
self._app = app
self._dark_theme: bool = dark_theme
self._light_color: str = klc
# set theme and light_color
self._set_gui()
@property
def dark_theme(self) -> bool:
return self._dark_theme
@dark_theme.setter
def dark_theme(self, th: bool) -> None:
self._dark_theme = th
self._set_gui()
self.theme_switched.emit(th) # Fehlermeldung !
@property
def light_color(self) -> str:
return self._light_color
@light_color.setter
def light_color(self, lc: str):
self._light_color = lc
self._set_gui()
def _set_gui(self):
rgb_lc: QColor = light_colors[self._light_color]
if self._dark_theme is False:
self._app.setStyle(QStyleFactory.create("Fusion"))
self._app.setPalette(self._default_palette) # set default palette
self._app.setPalette(LightPalette(rgb_lc)) # modify default palette
self._app.setStyleSheet(STYLESHEET_CLASSIC % (rgb_lc.name(), rgb_lc.name()))
else:
self._app.setStyle(QStyleFactory.create("Fusion"))
self._app.setPalette(self._default_palette) # set default palette
self._app.setPalette(DarkPalette(rgb_lc)) # modify default palette
self._app.setStyleSheet(STYLESHEET_DARK % (rgb_lc.name(), rgb_lc.name()))
Seht ihr einen Fehler ?
Grüße