Statusleiste anzeigen bei einem Eintrag in QTableWidget

Alles rund um die Programmierung mit Qt
Antworten
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Statusleiste anzeigen bei einem Eintrag in QTableWidget

Beitrag von reinki0013 »

Hallo zusammen,

also ich habe folgendes problemchen...

und zwar habe ich ein QTableWidget das 4 Spalten hat...
Spalte 1 = Nr. Spalte 2 = Name Spalte 3 = Einheit Spalte 4 = Wert

und zwar kann man nur den Wert, also Spalte 4 in dem QTableWidget ändern...
ich möchte gerne, wenn man auf den Wert klickt oder die Zelle markiert
in der Status Leiste gerne den Wertebereich anzeigen den man eingeben kann...

also angenommen es steht 100 in der Zelle, dann möchte ich in der Status Leiste anzeigen, "Wertebereich von 0-200"...

allerdings habe ich ja in jeder Zeile einen anderen Wert und auch Wertebereich...

Wie kann ich das am besten lösen??

zur anmerkung:
den aktuellen wert bekomme ich von einer map heraus...

hoffe ihr habt gute vorschläge für mich...

Lg Reinki
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

QTableWidget hat eine Menge Signale, z.B. cellChanged(int, int). Bei der passenden Spalte holst Du dir den Wert und den Wertebereich, bastelst dir einen String und schickst den per Signal an deine QStatusbar.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

macman hat geschrieben:QTableWidget hat eine Menge Signale, z.B. cellChanged(int, int). Bei der passenden Spalte holst Du dir den Wert und den Wertebereich, bastelst dir einen String und schickst den per Signal an deine QStatusbar.
und wie kann ich mir das genau vorstellen??

hast du da vielleicht ein kleines beispiel für mich?

:roll:

das problem ist, die beispiele im turtorial beschränken sich leider nur auf normale TextEdit sachen...

also ich habe den wert schon in einem string stehen...
in QString str steht jetzt der wert der Zelle, wie kann ich das jetzt anstellen?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

reinki0013 hat geschrieben:hast du da vielleicht ein kleines beispiel für mich?
Die Doku besagt doch alles, definier ein Signal und verschicke es an die Statusbar.

Code: Alles auswählen

// Signal im Header
signals:
	void myShowMessage(QString&, int);

// connect im Konstruktor
connect(this, SIGNAL(myShowMessage(QString&, int)), myStatusBar, SLOT(showMessage(const QString&, int)));

// Signal verschicken in Methode
emit(myShowMessage(myString, myShowTime));
Alles aus dem Kopf, ohne Gewähr :-)
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

hallo,

besten dank mal für deine antwort...

also ich hätte jetzt noch eine frage an dich...

Code: Alles auswählen

// connect im Konstruktor
connect(this, SIGNAL(myShowMessage(QString&, int)), myStatusBar, SLOT(showMessage(const QString&, int)));
und zwar wo lege ich mir die "myStatusBar" an bzw. von wo bekomme ich die?

das check ich net...

besten dank

lg Reinki
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

reinki0013 hat geschrieben:und zwar wo lege ich mir die "myStatusBar" an bzw. von wo bekomme ich die?
Ich gehe davon aus, das du die Statusbar eines MainWindow meinst, da es sonst nirgends eine gibt. Und dann ist es doch nicht schwierig die entsprechende Doku aufzusuchen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten