2009-07-10 29 views
2

Jeder hat eine Idee, wie man Text aus einem QWidget-Fenster in einer Windows-Anwendung greifen kann? Dies ist, wie es aussieht, wenn ich es sehe mit Winspector:Informationen von "QWidget" abrufen

http://www.tightpoker.com/images/ftplobby.jpg

ich geschrieben hätte, das als Bild aber anscheinend neue Benutzer nicht verwenden Bild-Tags erlaubt ...

Es kann keine Unterklassen (zB für die Turnierliste) finden. Ich versuche eine Möglichkeit zu finden, die Liste in einer benutzerdefinierten Anwendung aufzurufen, die zum Sammeln von Daten geschrieben wird.

Antwort

0

Sobald Sie in der Zielanwendung Code ausgeführt haben, können Sie die QObject-Hierarchie starten, beginnend mit QApplication::topLevelWidgets(), und QMetaObject::userProperty() verwenden.

Wenn in der Zielanwendung kein Code ausgeführt wird, weiß ich nichts davon. Ich bin mir ziemlich sicher, dass es auch keinen Weg gibt, da sowohl Squish als auch KD Executor (google für KDExecutor, Google Cache verwenden, die Site wird gerade überarbeitet) Code (über Preloading) in die AUT (Application Under Test) injizieren müssen.

+1

Danke für die Antwort. Und da dies auf Datenbasis ausgeführt wird, habe ich keinen Code in der Zielanwendung ausgeführt. Sie sagen im Grunde genommen, dass Sie eine Injektion oder ein Haken machen müssen, während Sie die Anwendung starten? – natarem

1

Qt stellt seit einiger Zeit QAccessibility-Klasse zur Verfügung und erlaubt Screenreadern wie Narrator (Start-> Run ...-> Erzähler) oder Jaws, die Steuerelemente zu verarbeiten und sie dem Benutzer vorzulesen. Soweit ich das beurteilen kann, unterstützt alle Standard-Widgets diese Funktion seit irgendwo um qt4.

Leider, wenn Entwickler entscheidet, seine eigene Steuerung auf QWidged implementiert implementieren und QAccessibleInterface nicht implementieren, dann ist die erstellte Klasse "stumm" und unsichtbar für jede Art von Inspektor oder Bildschirmleser. Es wird nur ein Satz von Pixeln auf dem Bildschirm.

Versuchen Sie den Erzähler auszuführen und beachten Sie, was er nach dem Öffnen von ftplobby sagt. "... enthält keine anderen bekannten Steuerelemente" bedeutet, dass Sie wahrscheinlich kein Glück haben und sich mit OCR und simulierten Klicks befassen sollten.

Verwandte Themen