Как напечатать результат запроса sqlite3 в виде матрицы на холсте? - PullRequest
0 голосов
/ 07 июня 2018

Я хочу поместить результат запроса sqlite3 в виде матрицы и распечатать его на холсте tk.Запрос возвращает три столбца таблицы из базы данных.Кто-нибудь может помочь в этом?

1 Ответ

0 голосов
/ 09 июня 2018

Вместо использования canvas, почему бы не использовать tktable.Вся работа по рисованию линий и форматированию элементов в столбцы уже выполнена.

#!/usr/bin/tclsh
# We need these otherwise it will not work
package require sqlite3
package require Tktable

# open database - in this case stockbox.db in the current directory
sqlite3 db stockbox.db

# Set up the titles
set models(0,0) "Model"
set models(0,1) "Width"
set models(0,2) "Length"

# Start with 1 for the title
set rows 1
set cols 3

# Perform query, extract result into models
db eval {SELECT model_id,width, length FROM tbl_model} {
    set models($rows,0) $model_id
    set models($rows,1) $width
    set models($rows,2) $length
    incr rows
}
db close

# Create the table
table .table -variable models -titlerows 1 -width $cols -height 10 -rows $rows -yscrollcommand ".ys set"
scrollbar .ys -command ".table yview"
pack .table .ys -side left -fill y
...