ubuntuusers.de

GTKMM und XFCE, nur eine Anwendung kann geöffnet werden?

Status: Gelöst | Ubuntu-Version: Xubuntu 16.04 (Xenial Xerus)
Antworten |

Ulf24

Anmeldungsdatum:
30. September 2014

Beiträge: 114

Wohnort: Thüringen

Hallo zusammen,

ich bin ein "relativer" Neuling in Sachen Programmierung mit grafischer Oberfläche. Ein paar Übungen mit Qt sind mir gelungen, mit GDK2 habe ich schon einfache Aufgaben erfolgreich umgesetzt.

Da ich mich für C++ für die Zukunft entschieden habe, auch an der Arbeit, beschäftige ich mich derzeit mit GTKMM.

Um den Umgang mit den Klassen, deren Objekte und Attribute zu trainieren, habe ich mir erst mal eine kleine Analoguhr gebastelt, welche auch tadellos funktioniert. Nun wollte ich mich mit der eigentlichen Aufgabenstellung befassen. Ich habe es nicht geschafft, ein leeres Fenster darzustellen. Das kann doch nicht wahr sein. Kompilierung ohne Warnungen und Fehler. Beim Ausführen des Programms ist der Return-Wert 0, alles ok. Nur es gab kein leeres Fenster.

Irgendwann habe ich die Analoguhr beendet und siehe da, das neue Programm läuft.

Natürlich weiß ich, dass GTKMM ein Bestandteil von Gnome ist, ich nutze aber XFCE4 als grafische Oberfläche.

Hat jemand schon mal die selben Erfahrungen gemacht? Kann man mehrere GTKMM-Programme unter XFCE4 zum Laufen bringen?

Vielen Dank im voraus.

Neral

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 230

Moin,

ein GUI-Toolkit, das immer nur von einem Programm gleichzeitig genutzt werden kann, ist ziemlich witzlos. Das kann also nicht sein – insbesondere, wenn du mehr als ein Xfce-Programm gleichzeitig ausführen kannst. Xfce nutzt nämlich auch Gtk.

Wenn du den Code nicht zeigst und nicht genau (= reproduzierbar) beschreibst, was du machst, kann man nur raten, was das Problem ist. Mein Tipp: Startest du beide Programme in der selben Instanz einer IDE? Und die IDE wartet vielleicht darauf, dass das erste Programm beendet wurde?

Ulf24

(Themenstarter)

Anmeldungsdatum:
30. September 2014

Beiträge: 114

Wohnort: Thüringen

Lang ist's her, aber da war doch noch was.

Ich habe meinen Fehler bei der GTKMM-Programmierung gefunden: Ich hatte beiden Programmen die gleiche ID zugewiesen. Diese müssen aber unterschiedlich sein.

1
Gtk::Application::create(argc, argv,"org.gtkmm.examples.base");

Das org.gtkmm.examples-base ist die entsprechende ID.

Antworten |