Seite 1 von 1

Projekt übergeben Qt Designer -> KDevelop?

Verfasst: 1. Mai 2006 12:36
von Djego27
Hallo erst einmal.

Ich bin ziemlicher Neuling in Qt.

Folgendes Problem, ich will ein Programm mit einer Oberfläche für Linux versehen. Ein Freund hat mir dafür zu Qt und dem Assistenten geraten.
Jetzt habe ich mittels des Assistenten die Oberfläche entworfen und diese
wird in der *.ui Datei als Form gespeichert. Da ich allerdings keine Zugriff auf den Code der Hauptschleife in exec() hab nützt mir das nicht wirklich etwas. :?

Also wie bekomme ich den Quellcode aus der *.ui Datei, wenn möglich gleich in ein Kdevelop Projekt, damit ich den Code mit meine bereits fertigen Progamm kombineren kann?

Qt Designer v3.3.4
Kdevelop v3.2.0

Verfasst: 1. Mai 2006 21:32
von Djego27
Da ich noch keine Antwort erhalten habe werde ich mein Problem mal ein bischen konkreter fassen.

Also ich hab ein Programm was über ein Shared Memory Segment Daten
mit einem Server, einem Client und einem Ping Programm austauscht.
Dabei wird meine Hauptschleife bis jetzt über einen Switch gesteuert der
seinen Zustand aus gesetzten Flags im SHM Segment ableited.
(Die Flags werden von den ander Prozessen gestetzt wenn zb neue
Daten vorhanden sind und auch zu deren Steuerung verwendet.)

Nun müsste man in der exec() Hauptschleife entweder direkt eine Funktion einbauen die das SHM Segment bei jedem Durchgang ausließt,
oder ein Signal bekommen wenn die Hauptschleife neu gestarted wird. Über dieses könnte man dann einen entsprechende Funktion aufrufen.

Leider habe ich in der Dokumentation und beim googeln noch nichts
brauchbares gefunden und komme deshalb nicht weiter.

Verfasst: 1. Mai 2006 22:57
von uhu01
Hy!

Warum denn nicht mit einem QTimer, oder in einem Thread der den Speicherbereich in einer Endlosschleife abfragt?

mfg
uhu01

Verfasst: 1. Mai 2006 23:04
von neverlord
Wenn ich Sie richtig verstehe, haben sie ein bestehendes Programm, dass Sie nach Qt umschreiben möchten und nun das Problem haben, dass sie in der exec() keinen code ausführen können.

Der einfachste Weg dürfte es wohl sein, einen eigenen Thread zu starten, der den bisherigen Switch implementiert und der Gui bei Zustandsänderungen entsprechende Signale sendet.
So ist die Gui auch von der restlichen Programmlogik getrennt.

Hoffe ich konnte Ihnen helfen.


MfG :)

Verfasst: 2. Mai 2006 21:31
von Djego27
Danke für die Antworten.

Da ich bisher nur mit ncurses und nano-x Oberflächen gebaut habe dachte ich halt man muss seinen Code in die Hauptschleife verfrachten.
Da schreibt man sich seine Hauptschleife, Signalbehandlung, Refresh und Fenster halt alle selbst. :)

Die Idee mit QThreat ist gut, ich werde das mal ausprobieren.

Verfasst: 4. Mai 2006 08:29
von Djego27
Habe durch stöbern doch noch einen Beitrag hier im Forum gefunden der
sich mit dem Problem beschäftigt.

Hier der Link: http://qtforum.de/forum/viewtopic.php?t=75