Seite 1 von 1

Bekomme nicht die accessibleDescription vom QToolButton?!

Verfasst: 23. April 2012 15:12
von gandalffo
Hallo Leute,

Ich habe mehrere QToolButtons die alle auf
einen Slots connected sind.
Ich möchte dann die accessibleDescription auswerten.
Den QToolButton bekomme ich über qobject_cast<QToolButton*>(sender());
Jedoch gibt es keine Funtkion für accessibleDescription, auch nicht wenn ich es
als QWidget caste.
Kann mir da jemand weiterhelfen???

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 23. April 2012 17:04
von solarix
Ich glaube, was du tun solltest ist nicht irgendwelche Metadaten via Name/Description zu extrahieren, sondern gleich via SignalMapper (http://qt-project.org/doc/qt-4.8/qsignalmapper.html) zu managen (Lösung für das Problem: "Viele-Sender-auf-einen-Slot-mit-Senderunterscheidung").

Zu "Jedoch gibt es keine Funtkion": bei Source + Compilerfehler könnte man schon helfen..

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 24. April 2012 08:15
von gandalffo
Danke für die Antwort,

ich werder es nun mit dem Signalmapper probieren, allerdings wäre die Accessible Eigenschaft von Vorteil gewesen denn diese hätte
mit dem Linguist übersetzt werden können.

Compilerfehler bekomme ich keine, auch wenn ich ein andere Objekte direkt im Code erzeuge kann ich nicht auf diese
Eigenschaft zugreifen.

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 24. April 2012 10:57
von brax
Also erstmal hat solarix recht, wenn Du die accessibleDescription benutzen möchtest, um den Sender herauszufinden.

Ansonsten versteh ich aber Dein Problem nicht ganz. Der Code:

Code: Alles auswählen

QToolButton tb;
tb.setAccessibleDescription("foo");
qDebug() << tb.accessibleDescription();
gibt korrekt den String "foo" aus. Ist es das was Du meinst?

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 24. April 2012 14:29
von gandalffo
Genau so etwas meine ich.

Jedoch ist es bei mir nicht vorhanden, vielleicht ist es
im QtSDK embedded nicht drin.

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 24. April 2012 16:24
von brax
Eigentlich sind Methoden, die im Embedded Qt nicht drin sind entsprechend gekennzeichnet. Und wenn Du die Methode setAccessibleDescription hast, sollte der getter dafür auch da sein.

Ich verstehe aber immer noch nicht so ganz. Du hast geschrieben, dass Du keinen Compilerfehler bekommst, wenn Du die Methode benutzt. Was bekommst Du denn dann für einen Fehler?

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 25. April 2012 09:21
von gandalffo
Ich programmiere im Eclipse, da wird 1. die methode nicht bei der autovervollständigung (oder wie das heißt) gezeigt und 2. wenn ich
sie direkt eingebe kommt folgender Fehler: class QToolButton hat kein Element names "setAccessibleDescription"

Re: Bekomme nicht die accessibleDescription vom QToolButton?

Verfasst: 25. April 2012 10:31
von franzf
Für die Zukinft: Immer gleich GENAU sagen, was falsch läuft, dann muss man nicht ewig hin und her diskutieren. Das bedeutet vor allem Compiler-Meldungen posten!

Code: Alles auswählen

#ifndef QT_NO_ACCESSIBILITY
    Q_PROPERTY(QString accessibleName READ accessibleName WRITE setAccessibleName)
    Q_PROPERTY(QString accessibleDescription READ accessibleDescription WRITE setAccessibleDescription)
#endif
Das steht im Header von QWidget. Wenn es also im Embedded keine Accessibility-Funktionen gibt - Pech gehabt. Ansonsten musst du nur Qt mit der entsprechenden Option neu kompilieren.