frame .launchpad button .launchpad.button1 -text "Data files" -command {exec command.com /c explorer "C:\\data" &} pack .launchpad.button1 -side top -fill x button .launchpad.button2 -text "ToDo List" -command {exec command.com /c notepad.exe "C:\\data\\myToDoList.txt" &} pack .launchpad.button2 -side top -fill x button .launchpad.button3 -text "the third button" pack .launchpad.button3 -side top -fill x pack .launchpad -side top console hide____ Note: To launch an external program the command
exec myProg.exe arg1 arg2 &is used.Question1: How do I later assign an exec command to a button? How can I dynamically change the behaviour of buttons?A.
$buttonName configure -command [list some_other_command and its arguments]In general, any property set at widget creation time can be changed by the configure sub-command. You can conveniently list all of the options for a widget and their default and current values with:
foreach option [$widgetName configure] { puts $option }Question2: Which properties do I have to set that the buttons occupy the whole window width? -fill x is obviously not sufficient.A.
-expand yes
See also