000
08.08.2005, 21:31 Uhr
atlantex
|
Hallo,
hab ein Problem mit dem QT Designer, scheint sehr einfach aber ich beiss mir seit 2 Tagen die Zähne daran aus, also bitte nicht lachen.
Ich benutze QT3 unter Fedora Core 4.
Also, ich möchte an meiner Garage eine Lichtschranke anbringen die bei Unterbrechung ein Signal an die Parallele Schnittstelle liefert und damit ein Signal ausgelöst wird.
Ich bin nun soweit das ich die Lichtschranke "scharf schalten" kann, ebenso wird ein LPT-Pin alle 500 ms belauscht ob ein Signal anliegt, die Weitergabe an einen Signalgeber (im Test eine LED) funktioniert auch. Also techn. gesehen ist der Code funkionsbereit.
Nun zum Problem:
ich habe mir eine kleine Oberfläche "zusammengeklickt" auf der 2 Buttons sind und eine Kontrolllampe (ein Bild dient als Kontrolllampe), mit den Buttons kann ich die Lichtschranke aktivieren und deaktivieren, die Kontrolllampe zeigt den aktuellen Status an, mittels setEnabled (true) bzw. setDisabled(true).
so weit so gut.
Nun habe ich einen Timer, der sitzt in der main.cpp, dieser prüft alle 500 ms einen Pin auf Spannung, liegt sie an so schaltet er einen anderen Pin an, an dem der Signalgeber hängt, geht auch noch soweit.
Nun möchte ich in der Oberfläche noch eine Kontrolllampe einsetzen, diese soll leuchten sobald der Signalgeberpin aktiv ist, nur als optische Kontrolle.
Mein Problem ist nun dass ich die Verbindung einfach nicht auf die Reihe bekomme, also ich habe in der Oberfläche ein zusätzliches Bild eingefügt, das standardmässig auf disabled gesetz istt und möchte das es bei bedarf auf enabled wechselt.
hier mal ein paar Codeschnipsel:
[color=red]xxx.ui.h[/color]
Code: |
void look::controll_led_on()
{ controll_led->setEnabled( true ); }
void look::controll_led_off()
{ controll_led->setDisabled( true ); }
|
[color=red]main.cpp[/color]
Code: |
if (pin_is_set(LP_PIN11)) //check the satus of pin 11
{ clear_pin(LP_PIN02); look *w = new look(); w->controll_led_off() } else { set_pin(LP_PIN02); look *w = new look(); w->controll_led_on() }
|
wenn ich im Formteil in die on / off Funktionen jeweils ein printf mit reinsetze und das Proggi via Commandozeile starte sehe ich das die Funktionen ausgeführt werden, nach dem stoppen sehe ich eine 0 oder 1, je nach Schaltzustand, also er greift von der main.cpp schonmal in die xxx.ui.h rüber, jedoch enabled bzw. disabled er mir das LED Bild einfach nicht.
ein Tip wäre super
Danke
atlantex |