Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Insert data into ttk.treeview widget to specific column [RSS Feed]

#1 Июнь 24, 2020 22:10:41

Feelgood
Зарегистрирован: 2016-08-04
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

Всем привет!
Вопрос состоит в том, как вставить в treeview данные из БД начиная из столбца “description”,
(если что код treeview приведен справочно)

 import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Household finance")
root.geometry("665x360")
tree = ttk.Treeview(columns=('ID', 'description', 'costs', 'total'), height=15, show='headings')
tree.column('ID', width=30, anchor=tk.CENTER)
tree.column('description', width=365, anchor=tk.CENTER)
tree.column('costs', width=150, anchor=tk.CENTER)
tree.column('total', width=100, anchor=tk.CENTER)
tree.heading('ID', text='ID')
tree.heading('description', text='Наименование')
tree.heading('costs', text='Статья дохода/расхода')
tree.heading('total', text='Сумма')
tree.pack()
root.mainloop()

Функция извлечения и вставки в treeview.

     def view_records(self):
        self.db.c.execute('''SELECT description, costs, total FROM finance''')
        [self.tree.delete(i) for i in self.tree.get_children()]
        [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()]

Отредактировано Feelgood (Июнь 24, 2020 22:11:50)

Офлайн

#2 Июнь 24, 2020 23:47:27

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

А как данные получить?
Сначала просто получите данные, отпринтуйте их, а потом уже смело вставляйте.

Офлайн

#3 Июнь 25, 2020 09:46:27

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2576
Репутация: +  58  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

Для начала можно просто руками набросать данные и попробовать и посомтреть как оно выглядити работает
а потом уже с базы тянуть.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Июнь 25, 2020 22:14:30

Feelgood
Зарегистрирован: 2016-08-04
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

ZerG
Код с treeview - это тестово для форума, а функция из реального приложения… Когда тяну из БД 3 поля, и вставляю в виджет treeview в котором 4 столбца, соответственно вставка начинается из первого столбца, а мне нужно чтоб начиналось со второго столбца.

Офлайн

#5 Июнь 25, 2020 22:49:07

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

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

или как-то так

 [self.tree.insert('', 'end', values=('',row)) for row in self.db.c.fetchall()]

Отредактировано xam1816 (Июнь 25, 2020 23:16:15)

Офлайн

#6 Июнь 26, 2020 18:45:22

Feelgood
Зарегистрирован: 2016-08-04
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

xam1816
Да будет нумерация по порядку, ID тоже доделаю.

Тогда оно всё в один столбец помещает, скрин прикрепил:

  [self.tree.insert('', 'end', values=('',row)) for row in self.db.c.fetchall()]

Прикреплённый файлы:
attachment Снимок.PNG (89,6 KБ)

Офлайн

#7 Июнь 26, 2020 20:25:56

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

тогда так

 tree.insert('', 'end', values=("",row[0],row[1],row[2]))

Офлайн

#8 Июнь 29, 2020 11:58:03

Feelgood
Зарегистрирован: 2016-08-04
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Insert data into ttk.treeview widget to specific column

xam1816
агонь) всё красиво, спасибо!!!

Офлайн

  • Начало
  • » GUI
  • » Insert data into ttk.treeview widget to specific column[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version