Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Bonjour
Je viens de passer par la méthode sans gtk_cell_renderer_text_new et la coloration marche. Mais, mon programme est pour le moment inutilisable car ce ci implique bien plus de changement que ça
Je mets ici la méthode de génération car elle est très peu documentée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 p_combo_classe[i]=gtk_combo_box_text_new(); for (j=0;j<nombre_d_elements;j++) { gtk_combo_box_text_insert_text (GTK_COMBO_BOX_TEXT(p_combo_classe[i]),j,nom_element[j]); }
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Tu t'embêtes pour rien à gérer les indices, gtk_combo_box_text_append_text est là pour ça... Pour mémoire le verbe "to append" signifie "ajouter à la fin", "to prepend" signifie "ajouter au début".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 p_combo_classe[i] = gtk_combo_box_text_new(); for (j = 0; j < nombre_d_elements; j++) { gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(p_combo_classe[i]), nom_element[j]); }
OK...
C'est promis, il faudra que je me mette sérieusement à l'anglais
Mais, il y a du boulot![]()
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Retiens déjà au moins ces 2 là, c'est utilisé partout dans GTK... Et aussi dans la GLib, notamment pour gérer les éléments ordonnés, comme dans les listes chaînées (GSList, GList) et les tableaux dynamiques (GArray, GPtrArray, GByteArray).
Bonsoir
Ce soir, suite à une mise à jour, je découvre un changement de fonctionnement...
Premier problème :
Il parcourt un élément de plus que d'éléments dans le menu
Code : Sélectionner tout - Visualiser dans une fenêtre à part for (i=0; i < atk_object_get_n_accessible_children (gtk_combo_box_get_popup_accessible (combobox)); i++)comme il l faisait avec GtkCellRenderer
Second problème :
Pour les couleurs, il m'arrive la même chose qu'avec les GtkCellRenderer :gtk_widget_get_allocation me donne le menu entier au lieu de la cellule et le coloriage est effacé lorsque que l'affichage arrive.
On dirait un cauchemar... Comme si je testais un ancien code alors que j'ai le nouveau...
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Le même code sous windows me donne bien les couleurs !
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Je confirme bien ce que j'ai dit hier soir !
D'où vient cette différence ?
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Je viens de mettre à jour un autre PC au boulot toujours sous Mageia 2. Et cette fois ça marche...
J'ai perdu une soirée sur ce problème... Et je continue à me poser des questions...
Il y a même une chose que j'avais raporté à plus tard qui marche à nouveau : la coloration des textes !
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
J'ai réussi comme ça (avec toutes les étapes) :Sinon, je me monfond dans l'incompréhention du marche/marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 model=gtk_combo_box_get_model(GTK_COMBO_BOX (combobox)); iter= gtk_tree_model_iter_n_children(model,NULL); for(i=0;i<iter;i++)
Sur PC que j'ai au boulot, ça marche, mais uniquement si je suis sur ce PC, c'est à dire que l'exécutable fait sur ce PC est exécuté sur le mien ne marche pas. Et pire, si j'exécute de chez moi avec une connexion ssh l'exécutable à distance, ça plante...
Et pire... Je viens juste de tester... Du boulot, je me connecte par ssh sur mon PC et je lance à distance mon programme : il marche... Je rentre dans une phase de bug incompréhensible...
La question est de savoir qui gère l'affichage et comment il est géré.
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Comme je te l'ai dit, je pense que c'est une question de compatibilité descendante avec la libc... Au passage, évite d'appeler ta variable iter si ce n'est pas un itérateur... n_combo_entries ou un truc de ce genre serait plus juste.
Le problème de compatibilité n'est pas trop envisageable, car, je fais des tests sur des PC qui ont la même version des logiciels officiellement (tous mageia 2 64 bits).
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Je ne comprends plus, tu n'as pas dit que tu avais du Mageia 1 et 2 ?
J'ai aussi deux PC sous Mageia 1, mais gtk3 n'y est pas porté.
Par contre, je viens d'installer de quoi compiler sous une ubuntu que j'ai en double boot : ça marche sur ce PCMais, c'est mon PC tablette peu puissant et sans clavier
Et là, je vois que je peux travailler à distance : quand je lance par ssh mon programme, j'ai la coloration des menus.
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Le fait du hasard ou non...
J'ai remis la configuration à zéro de gnome afin de pouvoir faire tourner gnome3 sur mon compte alors qu'il tourbait sur un nouveau compte que je venais juste de créer pour test...
gnome3 a tourné, j'ai lancé alors mon programme à tout hasard et les menu coloriés se sont mis à marcher sous Mageia 2... gnome3 o la mise à jour juste faite avant ? Seul dieu le sait !
J'ai voulu à tout prix faire tourner mon PC avec gnome3 car, xfce4, lxde et nouvellement KDE avaient un problème : http://www.mageialinux-online.org/fo...quote=#m119257
Problème gnome3 : http://www.mageialinux-online.org/fo...-2.php#m119275
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Et bien le problème revient... J'ai perdu la couleur dans les menus...
C'est peut-être comme l'autre problème que j'ai déterré. C'est comme si une configuration de gnome prenait le dessus sur mes couleursCeci dit, je suis sous KDE car il ne prend pas (trop ?) en compte la config gnome et que j'arrive à avoir la couleur désirée dans le fond de mes cadres. Mais, je ne l'ai plus dans mes menus
![]()
Édit : je fais des tests... Sous gnome, j'ai de nouveau toutes mes couleurs ! Mais, il me semble que le thème à changé...
Donc ce problème dépend surement d'une configuration que je ne maîtrise pas, comme celui-ce : http://www.developpez.net/forums/d12...kground_color/
nb : je suis sous mageia 2 avec gtk 3.4 , avec mageia 3 et gtk 3.5 , il y avait trop de problèmes ces derniers temps.
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
La bonne méthode pour "écraser" les thèmes Gnome serait peut être de passer par les GtkCssProvider (remplaçant des GtkRcStyle).
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Tu as des exemples d'utilisation ?
J'avoue que l'idée me tente beaucoup. Dans ce cas, je pourrais modifier le style complet ? Ce serait génial.
Modérateur Mageia/Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels : xrandr, algorigramme et C, xml et gtk...
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Partager