【发布时间】:2017-06-07 05:34:53
【问题描述】:
我是 GUI 开发的新手,我已经用 gtk+ 3 开发了几天的项目,但我被困在了这一点上。
我的应用程序包含两个树视图,行中的数据是从 sql 查询中获得的,通过右键单击一行会出现一个弹出菜单,提供将数据设置为“已知”的选项,更新数据库表。
以前的数据现在应该属于另一个树视图,并且在应用重新启动时也是如此,但我希望实时进行。
是否可以更新/刷新树视图中的数据?
用函数获取模型:
static GtkTreeStore* create_and_fill(char* known)
{
GtkTreeStore* store;
GtkTreeIter iter;
GtkWidget* tree;
store = gtk_tree_store_new(2,G_TYPE_STRING,G_TYPE_STRING);
char source_mac[50] = {0};
char source_ip[50] = {0};
int num_fields;
char query[300] = {0};
sprintf(query, "select mac,ip from hosts where known=%s", known);
if(mysql_query(conn, query))
{
fprintf(stderr,"%s\n", mysql_error(conn));
}
res = mysql_store_result(conn);
num_fields = mysql_num_fields(res);
while((row = mysql_fetch_row(res)))
{
sprintf(source_mac,"%s", row[0]);
sprintf(source_ip,"%s", row[1]);
gtk_tree_store_append(store, &iter, NULL);
gtk_tree_store_set(store, &iter, MAC_ADDRESS, source_mac, IP_ADDRESS, source_ip,-1);
}
gtk_tree_store_append(store, &iter, NULL);
mysql_free_result(res);
return store;
}
【问题讨论】:
-
请向我们展示您目前在该主题上所做的努力。到目前为止你尝试了什么。使用哪种模型来存储数据。