Learn R Programming

tcltk2 (version 1.2-11)

tk2widgets: 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.
selection
a numeric (indices) vector with current selection.
selectmode
the selection mode for this widget. extended is the usual choice for multiselction tk2listbox().
height
the height of the widget.
scroll
do we add scrollbars? Possible values are "x", "y", "both" or "none"; can be abridged.
autoscroll
do we automatically hide scrollbars if not needed? Possible values are the same as for the scroll argument.
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 instead.
aspect
sets the aspect ratio of the widget (100 = square, 200 = twice as large, 50 = twice as tall). Only used if width is negative.
orientation
either "horizontal" or "vertical".
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.

See Also

is.ttk

Examples

Run this code
## 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)

Run the code above in your browser using DataLab