如何从我使用 Tcltk 创建的 GUI 中的菜单中更改默认字体及其大小?下面的示例只有一个名为"文件"的菜单,但在我的 GUI 中,它将有更多。因此,所有这些都必须重新调整大小。有什么方法可以为我的整个 GUI 做到这一点吗?
提前谢谢你!
require(tcltk)
readCsv <- function(){
myval <- tkgetOpenFile()
mydata <- read.csv(paste(as.character(myval), collapse = " "))
assign("myData", mydata, envir = .GlobalEnv)
}
tt <- tktoplevel()
topMenu <- tkmenu(tt)
tkconfigure(tt, menu = topMenu)
fileMenu <- tkmenu(topMenu, tearoff = FALSE)
tkadd(fileMenu, "command", label = "Quit", command = function() tkdestroy(tt))
tkadd(fileMenu, "command", label = "Load", command = function() readCsv())
tkadd(topMenu, "cascade", label = "File", menu = fileMenu)
tkfocus(tt)
菜单的默认字体是命名字体; TkMenuFont
在大多数平台上(在OSX上menu
,你真的不应该改变它)。这通常映射到菜单的正确系统默认字体。但是,如果您确实想要更改它,仍建议您按照此页面上的模式使用命名字体(这是 R TclTk 中的字体对象中使用的字体),但您将字体应用于菜单小部件而不是标签。
# Example to show how to do it
fontMenu <- tkfont.create(family="times",size=24,weight="bold",slant="italic")
fileMenu <- tkmenu(topMenu, tearoff = FALSE, font = fontMenu)
唯一不应该这样做的平台是OSX,其中菜单的工作方式相当不同(除了在脚本级别;隐藏在幕后有很多差异!
是的,使用选项数据库。
有关显示与按钮一起使用的选项数据库的示例,请参阅此问题,但对于菜单的工作方式相同:https://stackoverflow.com/questions/20960107/is-there-a-way-to-have-a-global-style-for-button-in-tcl