Objectname durch variabel erstezen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sven1987h
User
Beiträge: 15
Registriert: Freitag 1. April 2011, 13:40

Moin moin Leute,

ich hätte da mal eine Frage.
Folgendes Problehm ich habe ein Fenster das durch mehrere Button zugleich aufgerufen werden kann, nur der Inhalt ist immer ein andere.
Nun möchte ich nach dem klick auf einen der Button den dazugehörigen inhalt im Fenster anzeigen aber egal was ich mache ich bekomme es einfach nicht hin.

Code: Alles auswählen

self.frame.setVisible(True)
	sender = self.sender()
	sender = sender.objectName()
	print(sender)
	self.sender.setStyleSheet("background-color: red")
In der variabel sender ist der Objektname des zuletzt geklickten buttons.
Aber so Funktioniert es nicht vermutlich weil sender ebend kein Objekt der klasse Button ist.
Meine Frage wäre wie kann ich das anders Lösen?
Ich kann sender gegen einen Button tauschen z.B. btn_ma2 und es funktioniert aber ich weiß halt vorher nicht welcher Button geklickt wurde.


LG Sven
Zuletzt geändert von Anonymous am Donnerstag 23. Februar 2017, 21:36, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Sven1987h hat geschrieben:Folgendes Problehm ich habe ein Fenster das durch mehrere Button zugleich aufgerufen werden kann, nur der Inhalt ist immer ein andere.
Ich nehme mal an du verwendest irgendein GUI-Toolkit. Du hast aber weder die Frage im korrekten Unterforum gestellt, noch im Text etwas dazu angegeben. Also: Wovon reden wir hier eigentlich?
Sven1987h
User
Beiträge: 15
Registriert: Freitag 1. April 2011, 13:40

Hallo /me,

Ja du hast recht ich verwende Pyqt 4 aber ich habe es nicht erwähnt weil ich davon ausgegangen bin das ich egal wo ein Objekt nicht einfach durch eine Variabel Tauschen kann.

LG Sven
BlackJack

@Sven1987h: Ähm, Du *hast* doch das sendende Objekt bereits in den Fingern gehabt und ersetzt es dann *selbst* durch den (Qt-Objekt-)Namen des Objekts. Lass das einfach bleiben oder binde den Namen wenigstens nicht an den selben Namen in Python. Das sollte man aus Gründen der Nachvollziehbarkeit sowieso nicht machen.
Antworten