tk2widgets {tcltk2} | R Documentation |
A series of widgets you can use in your Tk windows/dialog boxes.
tk2button(parent, tip = "", ...) tk2canvas(parent, tip = "", ...) tk2checkbutton(parent, tip = "", ...) tk2combobox(parent, tip = "", ...) tk2entry(parent, tip = "", ...) tk2frame(parent, ...) tk2label(parent, tip, label, tag, cfglist, wrap = FALSE, ...) tk2labelframe(parent, ...) tk2listbox(parent, values, value, selection, selectmode = c("extended", "single", "browse", "multiple"), height = 5, tip = "", scroll = "both", autoscroll = "x", enabled = TRUE, ...) tk2mclistbox(parent, tip ="", ...) tk2menu(parent, ...) tk2menubutton(parent, tip = "", ...) tk2message(parent, text = "", justify = c("left", "center", "right"), width = -1, aspect = 150, tip = "", ...) tk2notebook(parent, tabs, ...) tk2panedwindow(parent, orientation = c("horizontal", "vertical"), ...) tk2progress(parent, orientation = c("horizontal", "vertical"), tip = "", ...) tk2radiobutton(parent, tip = "", ...) tk2scale(parent, orientation = c("horizontal", "vertical"), tip = "", ...) tk2scrollbar(parent, orientation = c("horizontal", "vertical"), ...) tk2separator(parent, orientation = c("horizontal", "vertical"), ...) tk2spinbox(parent, tip = "", ...) tk2table(parent, ...) tk2text(parent, tip = "", ...) tk2ctext(parent, tip = "", ...) tk2tree(parent, tip = "", ...)
parent |
the parent window. |
tip |
a tooltip to display for this widget (optional). |
label |
a single character string used to label that widget (optional). |
tag |
any object that you would like to associate with this widget (optional). |
cfglist |
a named list with configuration parameters and values to apply. |
wrap |
do we wrap long lines in the widget? |
values |
a character vector with values to use to populate the widget. |
value |
a character vector with current value for the widget, or currently
selected values, if multiple selection is allowed. Takes precedence on
|
selection |
a numeric (indices) vector with current selection. |
selectmode |
the selection mode for this widget. |
height |
the height of the widget. |
scroll |
do we add scrollbars? Possible values are |
autoscroll |
do we automatically hide scrollbars if not needed? Possible
values are the same as for the |
enabled |
is the widget enabled or disabled? |
text |
the text to display in the widget. |
justify |
how text is justified? |
tabs |
the tabs to create in the notebook widget. |
width |
the desired width. Use a negative value to use |
aspect |
sets the aspect ratio of the widget (100 = square, 200 = twice as large,
50 = twice as tall). Only used if |
orientation |
either |
... |
further arguments passed to the widget. |
The reference to the created widget.
You need Tk 8.5 or above to use these widgets.
Philippe Grosjean
## Not run: ## These cannot be run by examples() but should be OK when pasted ## into an interactive R session with the tcltk package loaded ### A tk2notebook example tt2 <- tktoplevel() nb <- tk2notebook(tt2, tabs = c("Test", "Button")) tkpack(nb, fill = "both", expand = 1) tb1 <- tk2notetab(nb, "Test") lab <- tk2label(tb1, text = "Nothing here.") tkpack(lab) tb2 <- tk2notetab(nb, "Button") but <- tk2button(tb2, text = "Click me", command = function() tkdestroy(tt2)) tkgrid(but) tk2notetab.select(nb, "Button") tk2notetab.text(nb) # Text of the currently selected tab ### A simple tk2panedwindow example tt2 <- tktoplevel() pw <- tk2panedwindow(tt2, orient = "vertical") lpw.1 <- tk2text(pw) lpw.2 <- tk2text(pw) tkadd(pw, lpw.1)#, minsize = 100) tkadd(pw, lpw.2)#, minsize = 70) but <- tk2button(tt2, text = "OK", width = 10, command = function() tkdestroy(tt2)) tkpack(pw, fill = "both", expand = "yes") tkpack(but) ## Resize the window and move the panel separator with the mouse ### A tk2combobox example tt2 <- tktoplevel() cb <- tk2combobox(tt2) tkgrid(cb) ## Fill the combobox list fruits <- c("Apple", "Orange", "Banana") tk2list.set(cb, fruits) tk2list.insert(cb, "end", "Scoubidou", "Pear") tk2list.delete(cb, 3) # 0-based index! tk2list.size(cb) tk2list.get(cb) # All items ## Link current selection to a variable Fruit <- tclVar("Pear") tkconfigure(cb, textvariable = Fruit) ## Create a button to get the content of the combobox but <- tk2button(tt2, text = "OK", width = 10, command = function() {tkdestroy(tt2); cat(tclvalue(Fruit), "\n")}) tkgrid(but) ### An example of a tk2spinbox widget tt2 <- tktoplevel() tspin <- tk2spinbox(tt2, from = 2, to = 20, increment = 2) tkgrid(tspin) ## This widget is not added yet into tcltk2! #tdial <- tk2dial(tt2, from = 0, to = 20, resolution = 0.5, width = 70, # tickinterval = 2) #tkgrid(tdial) tbut <- tk2button(tt2, text = "OK", width = 10, command = function() tkdestroy(tt2)) tkgrid(tbut) ### A tk2mclistbox example tt2 <- tktoplevel() mlb <- tk2mclistbox(tt2, width = 55, resizablecolumns = TRUE) ## Define the columns tk2column(mlb, "add", "name", label = "First name", width = 20) tk2column(mlb, "add", "lastname", label = "Last name", width = 20) tk2column(mlb, "add", "org", label = "Organisation", width = 15) tkgrid(mlb) ## Fill the multicolumn list (we can use a vector, or a matrix of character strings) item1 <- c("Bryan", "Oackley", "ChannelPoint") items <- matrix(c("John", "Ousterhout", "Scriptics", "Steve", "Miller", "TclTk inc."), ncol = 3, byrow = TRUE) tk2insert.multi(mlb, "end", item1) tk2insert.multi(mlb, "end", items) #### TODO: bind events ### Ex: .listbox label bind date <ButtonPress-1> "sortByDate ### See the example.tcl in .\libs\mclistbox1.02 for a more complex example ### Create a button to close the dialog box but <- tk2button(tt2, text = "OK", width = 10, command = function() tkdestroy(tt2)) tkgrid(but) ### A simple tk2table example (Tktable is required here!) myRarray <- c("Animal", "\"sphinx moth\"", "oyster", "Type", "insect", "mollusk") dim(myRarray) <- c(3, 2) for (i in (0:2)) for (j in (0:1)) .Tcl(paste("set tclarray(", i, ",", j, ") ", myRarray[i+1, j+1], sep = "")) tt2 <- tktoplevel() table1 <- tk2table(tt2, variable = "tclarray", rows = "3", cols = "2", titlerows = "1", selectmode = "extended", colwidth = "25", background = "white") tkpack(table1) ## End(Not run)