我有以下代码,我想更改标签的值" title"当我按下te按钮" hlpBtn"但我遇到了麻烦。
{{1}}
我的意图是当我按下hlpBtn然后从"解密代码中取代标题时调用按钮_clicked ..."到#34;解码!!"。
这里有什么问题?
谢谢。
答案 0 :(得分:2)
为什么不做这样的事情而不是创建新标签?
void button_clicked(GtkWidget *widget, gpointer data)
{
gtk_label_set_text((GtkLabel *)data, "DECODED!!");
}
您的代码有什么问题:您获取指向现有标签的指针,制作它的本地副本,创建新标签并使用指向新项目的指针覆盖本地指针。问题是,覆盖指针并不意味着替换窗口中的原始项目。您需要销毁现有标签,然后添加新实例。但正如您从我的代码中看到的那样,解决方案比这更容易:只需使用新内容更新现有标签。