首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将Gtk::ListStore添加到Gtk::TreeView并将行添加到ListStore (gtkmm)

Gtk::ListStore是Gtkmm库中的一个类,用于存储和管理数据。它是一个模型类,用于在Gtk::TreeView中显示和编辑数据。

要将Gtk::ListStore添加到Gtk::TreeView并将行添加到ListStore,可以按照以下步骤进行操作:

  1. 创建一个Gtk::ListStore对象,指定列的数据类型。例如,可以创建一个包含两列的ListStore,一列为字符串类型,另一列为整数类型:
代码语言:txt
复制
Glib::RefPtr<Gtk::ListStore> listStore = Gtk::ListStore::create(columns);
  1. 创建一个Gtk::TreeView对象,并设置其模型为ListStore:
代码语言:txt
复制
Gtk::TreeView treeView;
treeView.set_model(listStore);
  1. 创建列视图,并将其添加到TreeView中。可以使用Gtk::TreeViewColumn类来创建列视图,并使用Gtk::CellRenderer类来定义列的外观和行为:
代码语言:txt
复制
Gtk::TreeViewColumn column;
Gtk::CellRendererText cellRenderer;

column.pack_start(cellRenderer, true);
column.add_attribute(cellRenderer, "text", columnData);

treeView.append_column(column);
  1. 创建一个Gtk::TreeModel::Row对象,并将其添加到ListStore中。可以使用Gtk::TreeModel::Row类来表示一行数据,并使用Gtk::TreeModel::Row::create()方法创建一个新的行对象:
代码语言:txt
复制
Gtk::TreeModel::Row row = *(listStore->append());
  1. 将数据添加到行对象中。可以使用row对象的set_value()方法将数据设置到特定列中:
代码语言:txt
复制
row[columnData] = "Example Text";
row[columnData2] = 123;

完整的示例代码如下:

代码语言:txt
复制
#include <gtkmm.h>

int main(int argc, char* argv[])
{
    Gtk::Main kit(argc, argv);

    // 创建ListStore
    Glib::RefPtr<Gtk::ListStore> listStore = Gtk::ListStore::create(columns);

    // 创建TreeView
    Gtk::TreeView treeView;
    treeView.set_model(listStore);

    // 创建列视图
    Gtk::TreeViewColumn column;
    Gtk::CellRendererText cellRenderer;

    column.pack_start(cellRenderer, true);
    column.add_attribute(cellRenderer, "text", columnData);

    treeView.append_column(column);

    // 创建行对象并添加到ListStore
    Gtk::TreeModel::Row row = *(listStore->append());
    row[columnData] = "Example Text";

    Gtk::Main::run(treeView);

    return 0;
}

这样,就可以将Gtk::ListStore添加到Gtk::TreeView并将行添加到ListStore了。

相关搜索:将Gdk.RGBA放入Gtk.ListStore,取回它,找到不同的颜色在python中正确地将元素添加到ListStore如何将CSS添加到主题GTK如何使用GTK4将图片添加到按钮?无法将滚动条添加到Python GTK3中笔记本中的TreeView如何在运行时将页面添加到Gtk Notebook小部件?Glade 3和GTK+:在运行时将小部件添加到侧边栏(C#)Pyspark dataframe将函数应用于行,并将行添加到dataframe的底部将行值添加到上一个行值,并将此值添加到R中的下一个行值有没有一种方法可以将属性添加到GTK小部件/对象以存储有关它的附加信息如何使用AJAX将行添加到表中,并将项绑定到模型中的列表?将字典中的值与数据帧行值进行匹配,并将数据添加到该行Python - Openpyxl -将公式添加到列,并将公式重复到数据的最后一行将表复制到数组,并将该数组添加到没有标题行的表中如何使用Javascript将下拉列表添加到MVC中的动态行并将值绑定到模型如何将选项卡式分隔符添加到pandas dataframe行并将输出保存到文件?我正在尝试将字符所说的行添加到一个空列表中并将其打印出来如何将空行添加到数据框中,并将其精确地放置在两个特定的现有行之间?使用散布行的杂乱数据帧(例如,将每一块观察值添加到一行中),并将书尾行移到新列中作为标识符?如何将具有不同长度的行的文件转换为单列,并将该行的第一个单词添加到单独的列
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 在 Python GTK+ 3 中创建一个框

    算法 初始化 GTK并将所需版本设置为 3.0。 从 gi.repository 导入 Gtk 模块以访问 GTK 功能。 定义一个从 Gtk.Window 继承的自定义类 CustomBox。...在 __init__ 方法中,初始化窗口并设置其标题、默认大小,并将“destroy”信号连接到Gtk.main_quit以处理窗口关闭。...创建一个名为 hbox 的水平 Gtk.Box 来水平保存小部件。 使用 self.add() 方法 hbox 添加到窗口中。 设置 Gtk.Label 小部件、label1 和 label2。...制作一个名为vbox的垂直Gtk.Box来垂直保存小部件。 使用 hbox.add() 方法 vbox 添加到 hbox。...再创建 2 个 Gtk.Label 小部件,label3 和 label4,并将它们垂直打包在 vbox 中。 创建一个名为 window 的自定义框实例。

    31510

    GTK 菜单的创建详解

    1 定义 1.1 菜单由菜单条和菜单项组成,它们的定义如下所示: 菜单项(GtkMenuItem):添加到菜单条或下拉菜单中构件 顶层菜单项:添加到菜单条上的菜单项称为顶层菜单项 下拉菜单(GtkMenu...它通常用来作为放置菜单项的容器 1.2 菜单的创建 创建一个菜单条 往菜单条上添加菜单项(顶层菜单项) 创建一个下拉菜单,并将该下拉菜单作为顶层菜单项的子菜单 1.3 相关函数 ============...gtk_menu_item_new:创建一个菜单分隔条(菜单分隔条实际上是不带标签的菜单项) gtk_menu_item_set_submenu:一个下拉菜单设置成指定菜单项的子菜单 =======...================================================================= 创建下拉菜单,并将其作为某个顶层菜单项的子菜单 menu=gtk_menu_new...Exit",NULL} }; ============================================================================ 创建一个快捷键组,并将它与某个窗口关联

    1.5K20

    带有桌面和推荐软件的 Raspberry Pi OS免费下载

    读取当前鼠标加速度 * lxinput - 使用设备 ID 而不是名称来应对掉电时设备的变化 * lxinput - 删除对 openbox 配置文件的冗余更改 * plymouth - ...* GTK+3 : 添加工具栏图标大小设置 * GTK+3:增加了在窗口上请求客户端装饰的能力 * GTK+3 : 添加自定义样式框架标签的缩进设置 * 在具有 2GB 或更多 RAM...* 对外观设置应用程序进行了大量更改以支持 GTK+3 和​​ mutter * 更新程序插件添加到 lxpanel 以检测和安装软件更新 * 文件管理器视图选项简化为列表或图标,带有单独的缩略图菜单选项...电池监视器插件中添加了低电压警告 * 当指针位于图标上时,现在可以使用滚轮更改放大镜插件缩放 * 更改为通知弹出窗口 - 现在只会在直接点击时关闭,而不是通过点击任意位置 * 书架现在与书籍和杂志的翻译版本兼容,并将根据系统语言设置在可用的情况下提供翻译版本...vcsm-cma 添加到视频组 - pwm 添加到 gpio 组 * i2cprobe:更灵活的 I2C/SPI 别名映射 * 树莓派固件 21e1fe3477ffb708a5736ed61a924fd650031136

    2.1K20

    如何在C语言中进行图形界面编程

    在本文中,我介绍一种在C语言中进行图形界面编程的方法。首先,让我们来了解一下几个常用的图形库,它们可以帮助我们在C语言中创建图形界面。其中最常用的是图形库是GTK(GIMP Toolkit)和Qt。...16如何在C语言中进行图形界面编程接下来,我们介绍如何在C语言中使用GTK来创建图形界面。首先,我们需要安装GTK开发包。在Linux系统上,我们可以使用包管理器来安装。...);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window), \Hello World\...最后,我们使用`gtk_widget_show`函数显示了窗口,并调用了`gtk_main`函数来进入GTK的主循环。上述代码创建一个简单的窗口,但我们还可以添加更多的组件,例如按钮、标签等。...\Click Me\然后,我们可以使用`gtk_container_add`函数按钮添加到窗口中:gtk_container_add(GTK_CONTAINER(window), button);最后

    87100

    Linux上为你的任务创建一个自定义的系统托盘指示器

    gtk.main() :运行 GTK 主循环。 在 menu() 中我们定义了想要指示器提供的行为或项目。...’,note) 菜单的 activate 信号与后面定义的 note() 函数相连接;换句话说,我们告诉我们的系统:“当该菜单项被点击,运行 note() 函数”。...最后, menu.append(command_one) 菜单项添加到列表中。 exittray 相关的是为了创建一个退出的菜单项,以便让你在想要的时候关闭指示器。...要做到这一点,只需要在第 17 处添加下面三内容: command_two = gtk.MenuItem('Play video/audio') command_two.connect('activate.../somevideo.mp4") /home//Videos/somevideo.mp4` 替换成你想要播放的视频/音频文件路径。

    1.9K41

    Glib之主事件循环

    main loop GLib和GTK+应用的主事件循环管理着所有事件源。 GLib 实现了一个功能强大的事件循环分发处理机制,这些事件的来源有很多种比如文件描述符(文件、管道或套接字)或超时。...在添加完初始事件源后执行g_main_loop_run(),主循环持续不断的检查每个事件源产生的新事件,然后分发它们,直到处理来自某个事件源的事件的时候触发了g_main_loop_quit()调用退出主循环为止...在GTK+应用中经常使用这种方式来显示模态对话框。注意如果一个事件源被添加到一个GMainContext,那么它将被所有关联这个GMainContext的主线程检查和分发。...GTK+对这些函数做了些封装,例如gtk_main、gtk_mian_quit和gtk_events_pending。...在GTK+应用中,一个线程使用多个main loop的主要用途是实现模态对话框,它在gtk_dialog_run函数里创建一个新的main loop,通过该main loop分发消息,直到对话框关闭为止

    1.6K30

    开源绘画应用 Pinta 已移植到GTK 3和.NET 6

    Pinta 2.0 的新功能: 移植到 GTK3 和 .NET 6 对标准 GTK 微件和对话框(例如,拾色器和文件对话框)的外观进行了许多更改。GTK3 主题现在也应该得到支持。...建议使用 GTK 版本的 3.24.21 或更高版本。早期版本在"另存为"对话框(#1909807)中更改文件筛选器时存在错误。..."打开最近打开最近"菜单项在 GTK3 中已弃用,并且已被删除,但文件对话框的"最近"部分中提供了类似的功能。 对加载项的支持已被删除,但可能会在将来的版本中返回 (#1918039)。...不再需要单独安装 GTK 和 .NET /Mono。...添加了包含位置/选择信息、缩放和调色板的状态栏小部件 (#154) 工具选项板更改为单列 (#155) 已将最近使用的颜色添加到调色板构件 (#154) 工具现在保存其设置,以供下次打开 Pinta

    1.3K10

    Ubuntu 13.04CentOS 6.4 下C++开发时的相关设置

    对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。...将自己可能存放库文档的路径都加入到/etc/ld.so.conf中是明智的选择 ^_^ 添加方法也极其简单,库文档的绝对路径直接写进去就OK了,一一个。...ldconfig,简单的说,他的作用就是/etc/ld.so.conf列出的路径下的库文档缓存到/etc/ld.so.cache以供使用。...而且,当系统重新启动后,任何的基于GTK2 的程式在运行时都将使用新安装的 GTK+ 库。不幸的是,由于GTK+版本的改变,这有时会给应用程式带来兼容性的问题,造成某些程式运行不正常。...为了避免出现上面的这些情况,在GTK+及其依赖库的安装过程中对于库的搜索路径的配置采用第一种方式进行。

    67130

    用wxPython打造Python图形界面(上)

    对于最流行的Linux版本,你可以在附带GTK2和GTK3版本的Extras Linux部分找到一些Python工具。...开发人员获取这些小部件,并将它们逻辑地排列在一个窗口上,以便用户与之交互。 事件循环 图形用户界面的工作原理是等待用户做一些事情。这个东西叫做事件。...你只需创建GUI并将其呈现给涉众,以便在花大量时间处理后端逻辑之前进行签准。...当你panel小部件添加到框架中,并且该面板是框架的唯一子元素时,它将自动展开以填充框架。 下一步是添加一个wx.textcrl到面板。几乎所有小部件的第一个参数都是小部件应该指向哪个父部件。...然后按钮添加到面板并给它一个标签。为了防止小部件重叠,需要将按钮位置的y坐标设置为55。 好的,今天这一篇先更新到这里,我把这个过程分成三篇文章在接下来的两天里陆续更新,明天见~ ? End

    4.9K40
    领券