2010-05-15 39 views
0
  1. 我有一个NULL gtklabel。发生事件时,我在此标签中设置了一个文本(使用gtk_label_set_text)。如何在事件后重置gtklabel(重置为NULL)?
  2. 如何设置GtkTextView的最大长度(字符)?
  3. 什么是最简单的方法来设置GtkTable中的一个小部件边距的距离?

回答

0
  1. 当我从代码理解,你可以只使用gtk_label_set_text (label, NULL)。如果由于任何原因失败(例如,较早版本不允许NULL),请将其替换为""
  2. 你不能,直接。最简单的非直接方法是在不希望插入实际发生时连接到视图的GtkTextBufferg_signal_stop_emission_by_name()上的“插入文本”。从来没有这样做,所以这就是我想要的,不保证它真的有效。
  3. 不太清楚你的意思。您可以尝试在您的小部件周围使用GtkAlignment并在其上设置填充 - 可能会或可能不是您想要的。
+0

1.我已经试过但没有工作。我有一个mylabel = gtk_label_new(NULL),当事件发生时,gtklabel显示一个文本(通过gtk_label_set_text(GTK_LABEL(mylabel),“text”))传递。例如,我编写了一个sleep(5)和一个新的gtk_label_set_text(GTK_LABEL(mylabel),NULL),但结果是事件的发生,五秒钟后我只有一个NULL标签。 2-3。我会尽力。 – stdio 2010-05-15 23:50:10

+0

@stdio:“我五秒钟后只有一个NULL标签” - 这听起来像是线程问题*或者*缺乏必需的线程。显示更新只发生在一个单独的主循环迭代中,所以如果你在更新标签后阻塞主线程5秒,你将*看到*它只有在主循环进行另一次迭代时才会更新,即5秒后。 – doublep 2010-05-16 13:08:21

+0

1.我用button-press-event和button-release-event信号来切换null和text标签。 2-3。我遵循你的建议,一切都很好。谢谢! – stdio 2010-05-21 23:18:20