Как изменить тему R или Как изменить фон элементов меню / заголовков записной книжки / кнопки gwidgets / Rgkt2? - PullRequest
0 голосов
/ 24 апреля 2019

Я использую gWidgets и пакеты Rgtk2.

Я хочу изменить цвет фона нескольких виджетов.

Все в порядке (gwindow / gframe ...), за исключением виджета gbutton, для элементов gmenu и для ярлыков gnotebook.

Я пробовал несколько кодов, но цвет остается серым (возможно, тема системы по умолчанию).

options(guiToolkit = "RGtk2")

win <- gwindow("TOOLS  FOR  QUANTITATIVE  GENETIC  ANALYSES",width = 502, height=370,expand=NULL,fill=NULL)
getToolkitWidget(win)$modifyBg(GtkStateType["normal"], "white") ## it's ok

#### gmenu
mbl <- list()  
    mbl$File$"Allelic Genotyping Merge"$handler = Merge_Geno
    mbl$File$"Allelic Genotyping Merge"$icon = "open"
mb <- gmenu(mbl, container=win)
getToolkitWidget(mb)$modifyBg(GtkStateType["normal"], "white")  ## it's ok for the menu band

getToolkitWidget(mb)$getChildren()[[1]]$modifyBg(GtkStateType["normal"], "white")  ## doesn't work on the items of gmenu 

#### gbutton
gcb <- gbutton("Download Genetic Grp",handler=Download_GrpGen,expand=FALSE,fill=FALSE,cont=win) 

getToolkitWidget(gcb)$modifyBg(GtkStateType["normal"], "white") ## doesn't work  
getToolkitWidget(gcb)$modifyBase(GtkStateType["normal"], "white") ## doesn't work 
getToolkitWidget(gcb)$getChildren()[[1]]$modifyBg(GtkStateType["normal"], "white")  ## doesn't work

#### gnotebook
nb <- gnotebook(cont=win,expand=FALSE,fill=FALSE)

nBKIN <- ggroup(label="KINSHIPS",horizontal=FALSE,cont=nb,expand=FALSE,fill=FALSE)
gcb0KIN <- gcheckboxgroup(NameKin,cont=nBKIN,checked = FALSE,expand=FALSE,fill=FALSE) 

getToolkitWidget(nb)$modifyBg(GtkStateType["normal"], "white")  ## it's ok for gcheckboxgroup

getToolkitWidget(nBKIN )$modifyBg(GtkStateType["normal"], "white")  ## doesn't work for background of label "DISTANCE"
getToolkitWidget(nBKIN )$"parent"$modifyBg(GtkStateType["normal"], "white")  ## doesn't work for background of label "DISTANCE"
getToolkitWidget(nBDIST)$getChildren()[[1]]$modifyBg(GtkStateType["normal"], "white") ## doesn't work for background of label "DISTANCE"
getToolkitWidget(nb)$getChildren()[[1]]$modifyBg(GtkStateType["normal"], "white") ## doesn't work for background of label "DISTANCE"

Если это невозможно с функциональными возможностями Rgtk2, есть ли другой способ изменить через код R серый цвет фона темы по умолчанию?

Спасибо

...