【发布时间】:2014-07-19 08:16:59
【问题描述】:
考虑以下输入框:
w <- gwindow()
g <- ggroup(cont=w, horizontal=F)
ed <- gedit(cont=g)
cbb <- gcombobox(letters, editable=T, use_completion=T, cont=g)
当gedit()/gcombobox()输入框包含字符串asdf时,如何使背景为红色,前景(文本本身)为白色?
【问题讨论】:
-
如果
e是条目小部件,则类似这样的东西应该可以工作:e$widget$modifyBase(GtkStateType["normal"], "red")。可以通过传入NULL来清除修改。 -
前景的颜色(即文本本身)怎么样。可以改吗?
-
有这些方法:
modifyBase、modifyText、modifyBg、modifyFg(可能还有其他方法)来调整这些东西。我认为Fg是您想要的。 -
那么
gcombobox()呢?我尝试了cbb <- gcombobox(letters, editable=T, use_completion=T, cont=ggroup(cont=w))然后cbb$widget$modifyBase(GtkStateType["normal"], "red"),但没有任何反应。 -
我认为您需要在组合框中获取条目小部件才能按上述方式进行修改。我有这个彻底的技巧:
cb$widget$getChildren()[[1]]来获得这个可编辑的组合框。也许有一种方法可以正确地做到这一点。
标签: r colors gwidgets background-foreground