私は2つのコンボボックスを持っています。ユーザーが最初のエントリから 1 つのエントリを選択した場合、2 番目のエントリを更新して、ユーザーが特定のもののみを選択できるようにする必要があります。
最初のボックスに入力します。
ttk::combobox .dsm.nb.f1.entr_Box1 -textvariable GUI_BoxOne -values [list {first entr} {second entr}] -state readonly
次に、 bind を使用して変更をキャッチします。
bind .dsm.nb.f1.entr_Box1 <<ComboboxSelected>> { ::UpdateCombobox }
何か変更があった場合は、2 番目のボックスに再入力します。
proc ::UpdateCombobox { } {
switch $::GUI_BoxOne {
{first entr} {
set ::GUI_BoxTwo {one new value}
}
{second entr} {
set ::GUI_BoxTwo [list {first new value} {second new value} ]
}
}
}
これは、スイッチの最初のケースでは正常に機能します。選択できるボックス 2 に 1 つのエントリを取得しますが、ボックスにいくつかの新しい値 (行) を入力することができません。「最初の新しい値」と「2 番目の新しい値」は、ボックス内の 1 つのエントリになります。どういうわけか論理的に、それは1つのリストですが、コンボボックスのすべての値を一度に更新するにはどうすればよいですか?