我现在正在学习GTK编程,我不知道如何显示文本的“页面”,M行N列,每个位置包含具有给定前景和背景的字符。边界矩形的大小将是固定的,我将不时更新“页面”(或网格)的内容。我该如何聪明地做到这一点?
我已经阅读了有关GtkLabel的信息,但这似乎是错误的。 GtkTextView看起来可能可行,但是我的实验很尴尬。 GtkTextView似乎希望显示文本流,而不是显示网格并更新各个网格位置。
对此的任何帮助将不胜感激。
[在GTK中没有很好的预制解决方案,但是我已经使它可以与GtkTextView一起使用,其中的内容是M个字符串,每个字符串由N个字符组成,并带有\n
。您可以通过在字符串(y * (N + 1) + x
)中的正确位置获取GtkTextIter并替换其中的字符来更新单个网格位置。
另一种方法是编写一个自定义小部件,您可以在其中自行在draw
信号处理程序中呈现网格文本。