2017-10-10 3 views

Antwort

0

Sie sollten zuerst etwas selbst ausprobieren und dann das, was Sie versucht haben, posten und spezifische Fragen stellen, wo Sie stecken bleiben. Wenn Sie einfach die Dokumentation lesen, erhalten Sie etwas, das so aussieht.

package require Tktable 
package require Ttk 

pack [table .t -cols 5 -rows 5 -variable tabarray] 
set cb [ttk::combobox .t.cb] 

array set tabarray [list 1,0 1 2,0 2 3,0 3 4,0 4] 
array set tabarray [list 0,1 "Layer Name" 0,2 Transmission 0,3 Phase 0,4 Nested] 

.t window config 1,1 -window $cb -sticky news 

Oder wenn Sie dasselbe ohne Verwendung einer tktable erreichen möchten, können Sie die Gittergeometrie nutzen, die mit Tk geliefert wird. Aber Sie wahrscheinlich besser sind vom Tisch verwenden, da es die Geometrie für Sie verwaltet, bieten Spalten- und Zeilenerweiterung usw.

package require Ttk 

set coltitles {"Layer Name" "Transmission" "Phase" "Nested"} 

# Frame to hold the 'cells' 
grid [frame .f] -row 0 -column 0 -sticky news 
grid columnconfigure .f {1 2 3 4} -weight 1 -uniform 1 

# Row numbers 
for {set row 1} {$row < 5} {incr row} { 
    # Row labels 
    grid [label .f.tr$row -text $row -anchor e -relief groove -bd 1 -width 2] -row $row -column 0 -sticky news 
} 

# Column titles 
for {set col 1} {$col < 5} {incr col} { 
    grid [label .f.tc$col -text [lindex $coltitles [expr $col - 1]] -anchor c -relief groove -bd 1] -row 0 -column $col -sticky news 
} 

# The table cells 
grid [ttk::combobox .f.cb] -row 1 -column 1 -sticky news 
for {set row 1} {$row < 5} {incr row} { 
    for {set col 1} {$col < 5} {incr col} { 
     # Cell 1,1 already has the combobox. Skip it. 
     if {($row == 1) && ($col == 1)} continue 
     set id r[set row]c[set col] 
     grid [entry .f.$id -relief groove -bd 1] -row $row -column $col -sticky news 
    } 
} 
+0

Oh, machte ich einen Fehler „-create“ zu verwenden, Dank sehr viel, das ist sollte "-window" sein. Ich sollte das Dokument genauer lesen ... Danke nochmal! – Jimmy

Verwandte Themen