首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gWidgets:如何从其他包中嵌入?

gWidgets:如何从其他包中嵌入?
EN

Stack Overflow用户
提问于 2012-01-24 01:34:09
回答 1查看 174关注 0票数 1

如果有一种方法可以嵌入来自其他包的gWidgets对象。例如来自包utils的。

代码语言:javascript
复制
options(guiToolkit = "RGtk2")
library(RGtk2)
library(gWidgets)
library(gWidgetsRGtk2)

library(utils)

w <- gwindow() # gwindow {gWidgets}
e <- edit(InsectSprays) # edit.data.frame {utils} 
EN

回答 1

Stack Overflow用户

发布于 2019-12-19 23:02:59

这是不可能的,因为gWidgets只支持特定类的对象,如gButtongWindow等。gWidgets不包含用于导入\嵌入外部库\包图形用户界面对象的文档功能。例如。

代码语言:javascript
复制
options(guiToolkit = "RGtk2")
library(RGtk2)
library(gWidgets)
library(gWidgetsRGtk2)

library(utils)

win <- gwindow("Window example",
               handler=function(h,...) {
                 print("See ya")
               })
but <- gbutton("cancel", container=win,
        handler = function(h,...) dispose(win))

str(but)  # gButton class object structure

# Formal class 'gButton' [package "gWidgets"] with 2 slots
# ..@ toolkit:Formal class 'guiWidgetsToolkitRGtk2' [package "gWidgets"] with 1 slot
# .. .. ..@ toolkit: chr  ...
# ..@ widget :Warning in str.default(obj, ...) :
#   'str.default': 'le' -- это NA, так что беру как 0
# Formal class 'gButtonRGtk' [package "gWidgetsRGtk2"] with 3 slots
# .. .. ..@ block  :Classes 'GtkAlignment', 'GtkBin', 'GtkContainer', 'GtkWidget', 'GtkObject', 'GInitiallyUnowned', 'GObject', 'RGtkObject' <externalptr> 
#   .. .. .. ..- attr(*, "interfaces")= chr [1:2]  ...
# .. .. ..@ widget :Classes 'GtkButton', 'GtkBin', 'GtkContainer', 'GtkWidget', 'GtkObject', 'GInitiallyUnowned', 'GObject', 'RGtkObject' <externalptr> 
#   .. .. .. ..- attr(*, "interfaces")= chr [1:3]  ...
# .. .. ..@ toolkit:Formal class 'guiWidgetsToolkitRGtk2' [package "gWidgets"] with 1 slot
# .. .. .. .. ..@ toolkit: chr  ...

此外,在代码执行之后,代码将控制权返回给R编程环境。

相反,utils::edit函数返回data.frame对象并挂起R执行环境。

基于注释jverzani,如果您想要集成到其他GUI中,新版本的包gWidgets2允许访问底层的小部件。使用gWidgets2getToolkitWidget方法可以将底层图形用户界面项附加到布局中,add方法应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8975991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档