image - 带有图像 GTK 的组合框

标签 image combobox gtk

如何将图像添加到 ComboBox?我想要文字和正确的图像?

我试图实现它,但它没有奏效^.^

需要任何建议

最佳答案

首先,您需要一个模型来存储项目(文本和图像)。

enum {COL_TEXT, COL_ICON, NUM_COLS};

GtkListStore *store = gtk_list_store_new( 2, G_TYPE_STRING, GDK_TYPE_PIXBUF );

/* add some data */
GtkTreeIter iter;
gtk_list_store_append(store, &iter);
gtk_list_store_set( store, &iter, COL_TEXT, some_text, COL_ICON, some_pixbuf, -1 );

接下来您创建 GtkComboBox (或 GtkComboBoxEntry,您可以跳过创建文本单元格渲染器)。
// GtkComboBoxEntry *combo = gtk_combo_box_entry_new_with_model( GTK_TREE_MODEL(store), COL_TEXT );
GtkComboBox *combo = gtk_combo_box_new_with_model( GTK_TREE_MODEL(store) );

GtkCellRenderer *renderer;

/* text cell */
renderer = gtk_cell_renderer_text_new();
gtk_cell_layout_pack_start( GTK_CELL_LAYOUT(combo), renderer, TRUE );
gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(combo), renderer, "text", COL_TEXT, NULL );

/* icon cell */
renderer = gtk_cell_renderer_pixbuf_new();
gtk_cell_layout_pack_start( GTK_CELL_LAYOUT(combo), renderer, FALSE );
gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(combo), renderer, "pixbuf", COL_ICON, NULL );

关于image - 带有图像 GTK 的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756020/

相关文章:

python - 在 python 中读取没有标题的 .img 医学图像

java - 将监听器添加到下拉菜单

python - 如何用 Python 和 GTK 记录用户按下鼠标按钮的位置?

image - MATLAB imread bmp 图像不正确

html - 尝试将列表定位在设备友好页面的内联图像上

python - 3D 语义分割任务的 Keras 预处理

python - 在 GTK 中,如何获取屏幕上小部件的实际大小?

c# - 在 ComboBox 中输入关键问题,AutoCompleteMode 设置为 Append

javascript - SAPui5 创建简单的 sap.m.ComboBox

gtk - 重叠小部件 gtk