Как обрабатывать выборки Tcl Treeview - PullRequest
0 голосов
/ 21 сентября 2009

Я использую следующую процедуру для удаления записи в базе данных, которая отображается в виджете древовидной структуры (z1):

set z1 [ttk::treeview .c1.t1 -columns {first last} -show headings]

proc Dlt {} {
    global z1 z11
    sqlite3 db test.db
    db eval {
        DELETE From t1 Where First_Name = $z11 and Last_Name = $z11
    }
    db close
}

$ z11 в выражении sql должно быть выбором дерева. К сожалению, я не могу понять, как установить переменную, равную выделению дерева. Я могу установить переменную, равную индексу, а именно: установить z11 [индекс $ z1 [выбор $ z1]]. Это даст мне индекс выбора дерева; Тем не менее, я пытаюсь получить строковое значение выбора дерева.

Кто-нибудь знает, каков правильный синтаксис для установки переменной, равной выделению в виде дерева?

Спасибо,

Ответы [ 2 ]

3 голосов
/ 21 сентября 2009

Чтобы получить значения для элемента в дереве, вы должны использовать подкоманду item дерева. Например:

set selection [.tree selection]
set text [.tree item $selection -text]

Все это задокументировано на справочной странице для виджета в виде дерева .

0 голосов
/ 21 сентября 2009

Кроме того, с какой платформой вы работаете? Если в Windows для целей отладки вы можете добавить команду «console show» в свой код для отображения окна интерактивной консоли. С этим открытым вы можете просто использовать [put] для отображения значений переменных. Таким образом, вы можете просто использовать «put $ text» (из вашего кода), чтобы увидеть значение вашей текстовой переменной.

Кроме того, вы можете просто вводить команды непосредственно в консоль для немедленной оценки. Во многих ситуациях проведение нескольких минут в консоли может быть очень полезным.

Если вы не работаете под Windows, вам даже не нужна команда "console show", так как все, что записано в stdout, должно появиться в исходном окне оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...