如何将图标分配给`gnotebook()`标签?

时间:2014-07-11 20:57:16

标签: r tabs icons gwidgets

我正在使用gWidgets2来创建一个标签式GUI,我希望每个标签都有一个相关的图标(图像)。

考虑一下:

require(gWidgets2)
w <- gwindow("notebook example", visible=T)
nb <- gnotebook(container=w)
gbutton("Refresh", label="Refresh", container=nb) ## note label argument
gbutton("Info", label="Info", container=nb)

如何在第一个标签的标签旁边指定refresh图标?第二个标签的info图标?

3 个答案:

答案 0 :(得分:2)

可以修改这样的东西以满足您的需求:

function add_stock_icon(nb, nm, page) {
    child <- nb$widget$getNthPage(page-1)
    box <- nb$widget$getTabLabel(child)
    icon <- gimage(stock.id=nm)
    box$packStart(icon$Widget)
}

答案 1 :(得分:0)

根据接受的答案,以下内容完全符合要求:

add_stock_icon <- function(nb, nm, page, left=TRUE){
    child <- nb$widget$getNthPage(page-1)
    box <- nb$widget$getTabLabel(child)
    icon <- gimage(stock.id=nm)
    box$packStart(icon$widget$parent)
    if(left) box$reorderChild(icon$widget$parent, 0)
}

##add icons to the left of tab labels
add_stock_icon(nb, "refresh", 1)
add_stock_icon(nb, "info", 2)

答案 2 :(得分:0)

使用gWidgets2RGtk2的最新GIT,您可以这样做:

nb$add_tab_icon(1, "refresh")
nb$add_tab_icon(2, "info")