Добавление GtkButton в GtkListStore с текстом в GTK +

Я хочу кнопку с текстом на нем для GtkListStore, Я прочитал другой ответ, используя изображение в качестве кнопки, но мне действительно нужно, чтобы заголовок был текстовым. Как я могу это сделать? Я был бы в порядке с решением, которое отображает текст на GdkPixbuf также.

Я пробовал это:

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);

Там нет ошибок, но ничего не появляется.

Я хочу посмотреть выбор в новом окне.

1

Решение

У вас есть два варианта (на самом деле у вас есть более двух вариантов, но вам нужно попробовать первые два, прежде чем я продолжу).

Подключитесь к древовидному представлению «row_activation», который может быть установлен на одиночный или двойной щелчок. Это пройдет по пути к выбранной строке.

Поместите кнопку под / снаружи дерева, чтобы получить дерево «get_selected_row». Затем вы можете использовать это для получения содержимого строки, которую вы хотите открыть в новом окне. пример. Подсказка: так Gtk рекомендует использовать кнопки с древовидной структурой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]