如何在GtkScrolledWindow中使GtkLabel可滚动

时间:2013-03-20 16:16:59

标签: r user-interface gtk

我正在使用RGtk2在R中开发Gtk GUI。 GUI的一部分是蛋白质序列(可变长度)的展示。将蛋白质序列置于GtkLabel中,打开线包裹并将线包裹模式设置为PANGO_WRAP_CHAR。 GtkLabel又被放置在GtkScrolledWindow中。不幸的是,这不起作用,因为看起来GtkLabel无法请求正确的尺寸。所以问题是:无论如何要制作可滚动的GtkLabel还是我应该使用另一个小部件?

代码示例:

window <- gtkWindow(show=FALSE)
scroll <- gtkScrolledWindow()
window$add(scroll)
label <- gtkLabel()
label$setLineWrap(TRUE)
label$setLineWrapMode('PANGO_WRAP_CHAR')
scroll$add(label)

label$setText('THIS IS JUST AN EXAMPLE: ABCDEFGHIJKLMNOPQRSTUVXYZ')
window$show()

请注意,可能必须调整窗口大小以显示问题...

最佳托马斯

1 个答案:

答案 0 :(得分:1)

由于GtkLabel本身并非“可滚动”小部件,因此您需要使用视口将其添加到GtkScrolledWindow。函数gtk_scrolled_window_add_with_viewport在C中用来执行此操作,但我不知道R中的等价物是什么。 scroll$addWithViewport(label)

gtk_scrolled_window_add_with_viewport documentation