Je veux un bouton avec du texte dessus pour un GtkListStore
. J'ai lu une autre réponse en utilisant une image comme un bouton, mais j'ai vraiment besoin que le titre soit du texte. Comment puis-je faire ceci? Je serais bien avec une solution qui rend le texte sur un GdkPixbuf
ainsi.Ajout de GtkButton à GtkListStore avec du texte dans GTK +
J'ai essayé ceci:
GType *types;
types = g_new0 (GType, num_fields);
for(int i=0; i<num_fields; i++) {
types[i] = GTK_TYPE_BUTTON;
}
tree_store = gtk_list_store_newv(num_fields, types);
tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(tree_store));
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
GdkPixbuf *icon;
renderer = gtk_cell_renderer_pixbuf_new();
column = gtk_tree_view_column_new_with_attributes (name.c_str(),renderer,"pixbuf",i,NULL);
button = gtk_button_new_with_label ("Quit");
g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window);
gtk_widget_set_can_default (button, TRUE);
gtk_list_store_set(tree_store, &iter, j, button, -1);
Il n'y a pas d'erreur, mais rien ne montre.
Je veux afficher le choix dans une nouvelle fenêtre.
Essayez-vous d'ajouter un bouton à l'en-tête TreeViewColumn ou quelque chose? Votre question est difficile à comprendre. – theGtknerd
@theGtknerd, pas à l'en-tête, mais à l'un des contenus des colonnes. Comparable à avoir une table qui contient des boutons. –
Cette question se pose régulièrement. Gtk n'a pas CellRendererButton pour des raisons [ici] (https://ubuntuforums.org/archive/index.php/t-1009065.html). Fondamentalement, vous devriez mettre des boutons en dehors de l'arborescence. Supposons que l'utilisateur souhaite annuler 10 éléments. Il ne veut pas cliquer sur un bouton d'annulation 10 fois. Il veut sélectionner 10 articles et cliquer sur Annuler. – theGtknerd