Hi Leute,
ich habe eine QTableWidget, und in der ersten Spalte erhalten die QTableWidgetItems eine Checkbox dazu.
Bei jeder veränderung lasse ich prüfen ob sich der checkState geändert hat, und stelle dann den Hintergrund des QTableWidgetItems farbig dar, in Abhängigkeit des checkState.
Soweit sogut... Das funktioniert sehr gut mit der Maus, aber ich finde kein Signal was gesetzt wird wenn ich den checkState mit der Leertaste setze
Kann mir da jemand helfen, welches Signal da gesetzt wird??
MfG Traggger
SIGNAL: QTableWidgetItem mit Checkbox??
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich werde aus deinem Text nicht schlau, was du momentan machst. Ein wenig Source waere da hilfreich.
Laut Qt Dokumentation, wird das ``stateChanged(int)`` Signal immer gesendet wenn, der Benutzer die CheckBox veraendert.
http://doc.trolltech.com/4.5/qcheckbox. ... ateChanged
Laut Qt Dokumentation, wird das ``stateChanged(int)`` Signal immer gesendet wenn, der Benutzer die CheckBox veraendert.
http://doc.trolltech.com/4.5/qcheckbox. ... ateChanged
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Mhhh,
für eine normale Checkbox schon, aber scheinbar nicht für die in einem ItemView integrierte?!?!
So schaut es im Moment aus:
SourceCode
Was ich noch abfangen muß is des Setzen des checkState mittels der Leertaste, finde aber kein SIGNAL das darauf anspringt.
für eine normale Checkbox schon, aber scheinbar nicht für die in einem ItemView integrierte?!?!
So schaut es im Moment aus:
SourceCode
Was ich noch abfangen muß is des Setzen des checkState mittels der Leertaste, finde aber kein SIGNAL das darauf anspringt.
Zuletzt geändert von Traggger am Donnerstag 27. August 2009, 14:02, insgesamt 1-mal geändert.
There are 10 kinds of people. Those who understand binary notation, and those who do not.
Lagere derart lange Quelltextbeispiele bitte in ein Pastebin wie http://paste.pocoo.org aus, damit man Deinen Beitrag besser lesen kann.
QStringList solltest Du nicht direkt verwenden, eine normale Python-Liste entspricht eher dem guten Stil (und ist auch für die Augen eines Python-Programmierers besser lesbar als die Stream-Operatoren, die von C++ übernommen wurden). Außerdem solltest Du Dir den extensiven Gebrauch doppelter Unterstriche abgewöhnen. Nutze allenfalls einen einfachen Unterstrich für private Attribute.
Die QTableWidget-Klasse sendet das Signal ".itemChanged()" aus, wenn sich ein Item irgendwie (auch im Bezug auf die Checkbox) ändert (Beispiel).
QStringList solltest Du nicht direkt verwenden, eine normale Python-Liste entspricht eher dem guten Stil (und ist auch für die Augen eines Python-Programmierers besser lesbar als die Stream-Operatoren, die von C++ übernommen wurden). Außerdem solltest Du Dir den extensiven Gebrauch doppelter Unterstriche abgewöhnen. Nutze allenfalls einen einfachen Unterstrich für private Attribute.
Die QTableWidget-Klasse sendet das Signal ".itemChanged()" aus, wenn sich ein Item irgendwie (auch im Bezug auf die Checkbox) ändert (Beispiel).
Danke für die Tipps...
Aber:
Das mit den __ und _ soll wie genau funktionieren?? Und warum soll ich keine __ verwenden???
Aber:
Das mit den __ und _ soll wie genau funktionieren?? Und warum soll ich keine __ verwenden???
Was genau meinst du mit Konstanten???EyDu hat geschrieben:Entfernen des doppelten Codes, ein ausgiebiger Blick in PEP 8 und Konstanten könnten dem Programm auch nicht schaden
There are 10 kinds of people. Those who understand binary notation, and those who do not.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Weil es keine ``private`` in Python gibt: http://docs.python.org/3.1/tutorial/cla ... -variables
Weiteres in PEP8.
Weiteres in PEP8.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Mhhh, ok
aber warum geht dann folgendes:
Bsp Vererbung
mit diesem Output bei mir:
Also muß es doch sowas geben oder?? Protected scheint es nicht zu geben...
aber warum geht dann folgendes:
Bsp Vererbung
mit diesem Output bei mir:
Also muß es doch sowas geben oder?? Protected scheint es nicht zu geben...
There are 10 kinds of people. Those who understand binary notation, and those who do not.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein, __ bedeutet nur Name-Mangling. Wenn man auf den umgeschrienenen Namen zugreift kommen keine Exceptions mehr.Traggger hat geschrieben:Also muß es doch sowas geben oder?? Protected scheint es nicht zu geben...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Dann teste doch mal http://paste.pocoo.org/show/136557/
Wie gesagt: Diese Konzepte gibt es in Python nicht. Alles was passiert ist Name Mangling.
Wie gesagt: Diese Konzepte gibt es in Python nicht. Alles was passiert ist Name Mangling.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte