Есть ли способ в tcl/Tk сделать окно стыковочным, чтобы оно могло быть само собой или встроено в виде виджета в другое окно?Как сделать прикрепляемое окно в tcl/tk?
Я использую Tcl 8.4, и обновление не является вариантом.
Есть ли способ в tcl/Tk сделать окно стыковочным, чтобы оно могло быть само собой или встроено в виде виджета в другое окно?Как сделать прикрепляемое окно в tcl/tk?
Я использую Tcl 8.4, и обновление не является вариантом.
Вы можете только начинать с Tk 8.5, который ввел в команду wm manage
и wm forget
команду wm
.
См. TIP #125 или недавнюю справочную страницу Tk для деталей.
Tcl 8.4 достигло конца жизни после 11 лет, последний выпуск был 8.4.20, больше не будет обновлений этой линии.
Простой пример для wm manage
и wm forget
:
package require Tk 8.5
proc undock {b widget} {
wm manage $widget
$b configure -command [list dock $widget] -text "Dock"
}
proc dock {b widget} {
wm forget $widget
grid $widget -sticky news
$b configure -command [list undock $widget] -text "Undock"
}
frame .docked
button .docked.undock -command { undock .docked.undock .docked } -text "Undock"
grid .docked -sticky news
grid .docked.undock -sticky news
Как бы вы реализовали это в Tk 8.5? – SIMEL
Ну, технически вы можете даже делать стыковочные окна в 8.4, но только путем обмана. Вы должны полностью воссоздать иерархию окон внутри нового верхнего уровня, который является склонным к ошибкам, медленным и полностью не приятным. – schlenk
В демонстраторе виджетов Tk 8.5 есть пример открепляемой панели инструментов (который должен быть распространен с любым дистрибутивом Tk, но я немного туман, если это действительно сделано в Linux, я знаю, что это часть официального дистрибутива Tk и также ActiveTcl). Я написал эту демонстрацию, чтобы показать что-то вроде этого. –
модернизирует Windows XP не вариант? Вы должны обновить программное обеспечение после достижения EOL. –
@JohannesKuhn, это не мой звонок. – SIMEL
Ну, я просто пытаюсь дать некоторые причины, почему они должны это делать, чтобы вы могли их убедить. –