tk2widgets {tcltk2} | R Documentation |
A series of versatile using either themable ttk widgets
Description
A series of widgets you can use in your Tk windows/dialog boxes.
Usage
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, activebackground, activeforeground, ...)
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, ...)
tk2tablelist(parent, ...)
tk2text(parent, tip = "", ...)
tk2ctext(parent, tip = "", ...)
tk2tree(parent, tip = "", ...)
Arguments
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 |
activebackground |
color to use for active background of menu items (if not provided, a reasonable default value is used). |
activeforeground |
color to use for active foreground of menu items (if not provided, a reasonable default value is used). |
... |
further arguments passed to the widget. |
Value
The reference to the created widget.
Note
You need Tk 8.5 or above to use these widgets.
Author(s)
Philippe Grosjean
See Also
Examples
## 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)
## A tablelist example
tt <- tktoplevel()
tlist <- tk2tablelist(tt, columntitles = c("First column", "Second column"),
stretch = "all", expand = 1)
tkpack(tlist, fill = "both")
tkinsert(tlist, "end", c("first row", "another value"))
tkinsert(tlist, "end", c("another row", "bla bla"))
tbut <- tk2button(tt, text = "Done", command = function () tkdestroy(tt))
tkpack(tbut)
## End(Not run)