Je ne suis pas en mesure d'ajouter des nœuds récursivement dans un treectrl. c'est-à-dire que je veux montrer tous les répertoires et fichiers comme dans un explorateur.Comment afficher une structure de répertoire (explorateur) dans tcl tk?
Jusqu'à présent, c'est ce que j'ai. J'ajoute des noeuds factices dans chaque dossier actuellement.
package require treectrl
treectrl .t -showheader 0 -selectmode single -showroot 0 -yscrollcommand {.y set}
scrollbar .y -ori vert -command ".t yview"
pack .y -side right -fill y
pack .t -side right -fill both -expand 1
set columnID [.t column create -text "Column 0"]
.t configure -treecolumn $columnID
.t element create el1 text
.t element create el2 rect -showfocus yes
.t style create s1
.t style elements s1 [list el1 el2]
.t style layout s1 el2 -union el1
.t configure -defaultstyle s1
proc add_node {parent text} {
set itemID [.t item create -button yes ]
.t item element configure $itemID 0 el1 -text $text
.t item collapse $itemID
.t item lastchild $parent $itemID
return $itemID
}
set images [glob -nocomplain -directory "D:/Explore" "*"]
for {set i 0} {$i<=[llength $images]} {incr i} {
set root [lsearch $images [lindex $images $i]]
add_node [add_node [add_node root [list directory [file tail [lindex $images $i]]]] dummy] dummy2
}
Vous pouvez prendre connaissance des projets énumérés dans https://wiki.tcl.tk/15091 d'inspiration –