CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

pas d'affichage Dev/Gtk

hugo42
hugo42
Niveau 9
29 octobre 2005 à 20:48:42

je travail sous Dev avec Gtk+ et par rapport a mon projet Convertisseur j´ai voulus isolè le problème, j´ai donc sèparè chaque élèments graphiques pour voir qui beug, bin la surprise, meme 1 fenetre avec juste 1 titre, une taille standard ne s´affiche pas!!
Toujours pareil aucun mess d´erreur ni pendant la compile ni pendant l´execution

code:

  1. include <stdlib.h>
  2. include <gtk/gtk.h>

int main(int argc, char **argv)
{
// Declaration du widget "fenetre//textbox//VBox"
GtkWidget *pWindow;
GtkWidget *TextBox;
GtkWidget *VBox;

// Debut de la boucle gtk
gtk_init(&argc, &argv);

// Creation et parametrage de la fenetre
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow), "Parties TextBox du convertisseur");
gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 300);

g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);

// Creation de la VBox et insertion dans pWindow
VBox = gtk_vbox_new(TRUE, 0);
gtk_container_add(GTK_CONTAINER(pWindow), VBox);

// Creation de la TextBox et insertion de la TextBox dans la VBox
TextBox = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(VBox), TextBox, TRUE, FALSE, 0);

// Affichage
gtk_widget_show_all(pWindow);

// Fin de la boucle gtk
gtk_main();

// Fermeture du programme
return EXIT_SUCCESS;
}

dnob700
dnob700
Niveau 10
29 octobre 2005 à 23:42:52

je ne connais pas du tout GTK, mais est-ce qu´il ne faut pas appeler une fonction ShowWindow, ou un truc dans le genre ?

Ou bien, est-ce qu´il ne faut pas définir qu´est ce que la fonction gtk_main() ? ou une procédure qui va géré les événements ?

sinon, il faut attendre quelqu´un qui sait s´en servir ou que tu regarde le code d´un cours ou d´un tutorial pour débuter sur GTK.

hugo42
hugo42
Niveau 9
30 octobre 2005 à 00:45:48

la fonction "ShowWindow" don tu parle c´est
gtk_widget_show_all(pWindow);

"montrè tous les widget(=element) de la fenetre pWindow"

et le plus comique tu vois c´est que sa viens tout droit d´un tuto, j´ai recopier les phrases en les adaptant

dnob700
dnob700
Niveau 10
30 octobre 2005 à 12:06:15

Bon, mais si ça marche, si il affiche la fenêtre, ensuite qu´est e qui se passe ?

Est ce que l´appel à gtk_main() est bloqquant, c´est à dire qu´il va s´y arreter jusqu´à ce que l´utilisateur fasse une action ? ou alors juste ça dit que tu as fini de construire ta fenêtre.

Parceque dans ce cas, le plus logique c´est juste que ton programme se quitte tout de suite donc les fenêtre sont créer et l´instant d´après détruite donc tu n´a pas le temps de voir ce qui est fait.

hugo42
hugo42
Niveau 9
30 octobre 2005 à 12:38:53

non non tousles parametrage sont efectuè puis arrivè a gtk_main(); les signaux ici "g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);" sont surveillè.

Ici il faut cliquè sur "destroy"(la croix en haut a gauche) pour quitè gtk-main et passè a la suite soit la fermeture du prog "return EXIT_SUCCESS;"

gollumkawder
gollumkawder
Niveau 10
30 octobre 2005 à 13:37:07

Je continue a clamer haut et fort depuis mon experience GTK que cette lib (pourtant très bien sur UNIX-like) est extremement mal portée sur Windows (si bien sur tu es sous Windows) sinon je te suggere de regarder la doc et les tutos, c´est assez clair et simple je pense..

hugo42
hugo42
Niveau 9
30 octobre 2005 à 22:06:34

je travail sous XP Pro

bin écoute toutes ses ligne sont tirès d´un tuto!

gollumkawder
gollumkawder
Niveau 10
31 octobre 2005 à 00:23:34

J´ai pas dit le contraire. Sauf que tu as recopié quelque chose que tu ne saisis pas apparement..

hugo42
hugo42
Niveau 9
31 octobre 2005 à 10:43:20

Bin si j´ai tout compris, pourquoi tu dit sa??

"
J´inclu les fichier nécessaire
Je lance la fonction principale
creation des widget
lancement de la boucle gtk
creation d´une fenetre standard dans le widge prevu a cette effet
parametrage de ce widget(donc de la fenetre) pour le titre et ensuite la taille

connexion de destroy(croix en haut a droite) a la fonction gtk_main_quit(arrete la boucle gtk)

creation d´une boite verticle(se qui contient les bouton et autre) et l´inclure dans la fenetre

creation d´une boite text puis insertion de celle ci dans la boite verticale

afficher tout les widget de la fenetre

surveiller les signaux

si on est sortis de la boucle gtk retournè "EXIT__SUCCESS" soit fermetur du prog
"

ce n´est pas une traduction rèaliste d´après vous???

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment