Я хочу кнопку с текстом на нем для 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);
Там нет ошибок, но ничего не появляется.
Я хочу посмотреть выбор в новом окне.
У вас есть два варианта (на самом деле у вас есть более двух вариантов, но вам нужно попробовать первые два, прежде чем я продолжу).
Подключитесь к древовидному представлению «row_activation», который может быть установлен на одиночный или двойной щелчок. Это пройдет по пути к выбранной строке.
Поместите кнопку под / снаружи дерева, чтобы получить дерево «get_selected_row». Затем вы можете использовать это для получения содержимого строки, которую вы хотите открыть в новом окне. пример. Подсказка: так Gtk рекомендует использовать кнопки с древовидной структурой.
Других решений пока нет …