Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

gtk-problem beim schließen eines widgets

Empfohlene Antworten

Veröffentlicht

hiho

ich bin grad dabei was mit gtk zu proggen (obwohl ich FiSi bin^^)

bin mit dem programm auch gut voran gekommen und fertig

ich habe jetzt nur ein problem...

ich beschreib ma mein prog:

ich habe ein hauptfenster, dann wird über ein entry eine eingabe realisiert und in einem vorhandenen datensatz nach diesem string gesucht...

befinden sich mehrere datensätze die dem string entsprechen wird ein zweites fenster geöffnet wo in einer liste alle gefundenen datensätze (passend zum string) dargestellt werden... dort kann dann ein gewünschter ausgewählt werden und dann sollte sich das zweite fenster mit dem auswählen des datensatzes schließen. macht es aber nicht :-(

da ich die graphische oberfläche mit glade gestaltet habe (aber nur das hauptfenster) habe ich mehrere dateien...

in der support.h stehen die globalen variabeln die ich in mehreren funktion der callbacks.c brauche

das zweite fenster ist wie folgt deklariert:

GtkWidget *ansicht;

in ansicht ist der view (die liste) sowie der scrollbalken enthalten

gtk_container_add(GTK_CONTAINER(scrollbar), view);

gtk_container_add(GTK_CONTAINER(ansicht), scrollbar);

mit

gtk_widget_show_all (ansicht);

lass ich mir das fenster anzeigen und mit dem signal

g_signal_connect (G_OBJECT (view), "row-activated", G_CALLBACK (onTreeViewRowActivated), ansicht);

wird in der liste, wenn eine zeile aktiviert wurde eine funktion ausgeführt

in dieser funktion muss dann das fenster geschlossen werden...

dies sollte er mit:

gtk_widget_destroy (GTK_WIDGET (ansicht));

eigentlich tun...macht er aber nicht....

beim kompilieren kommt keine fehlermeldung

ausführung läuft auch alles ohne probleme, nur wenn ich aus der liste eine zeile aktiviere (doppelklick oder ENTER) erscheint in der konsole:

Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed

und das fenster bleibt offen

wenn ich ein weiteres signal erstelle:

g_signal_connect (G_OBJECT (view), "row-activated", G_CALLBACK (gtk_widget_destroy), ansicht);

schließt sich beim aktivieren nur der view, also bleibt ein leeres fenster...

hat jemand einen rat oder sonst was, das mir helfen könnte?

kennt sich überhaupt jemand mit gtk aus?

mfg

meneke

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.