PySide6 - object has no attribute 'emit'
Verfasst: Freitag 14. Mai 2021, 18:50
Hallo miteinander,
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)
Ich erkenne hier keinen Fehler. Habe eine identische Implementation in einer anderen Klasse, dort funktioniert der Code einwandfrei.
Seht ihr einen Fehler ?
Grüße
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