在GTK + 2中单击按钮后重新定义标签

时间:2016-03-21 13:50:43

标签: c gtk2

我有以下代码,我想更改标签的值" title"当我按下te按钮" hlpBtn"但我遇到了麻烦。

{{1}}

我的意图是当我按下hlpBtn然后从"解密代码中取代标题时调用按钮_clicked ..."到#34;解码!!"。

这里有什么问题?

谢谢。

1 个答案:

答案 0 :(得分:2)

为什么不做这样的事情而不是创建新标签?

void button_clicked(GtkWidget *widget, gpointer data)
{
    gtk_label_set_text((GtkLabel *)data, "DECODED!!");
}

您的代码有什么问题:您获取指向现有标签的指针,制作它的本地副本,创建新标签并使用指向新项目的指针覆盖本地指针。问题是,覆盖指针并不意味着替换窗口中的原始项目。您需要销毁现有标签,然后添加新实例。但正如您从我的代码中看到的那样,解决方案比这更容易:只需使用新内容更新现有标签。