#python #pandas #sqlite #tkinter
#python #pandas #sqlite #tkinter
Вопрос:
Итак, я создаю project macro tracker с использованием модуля Python Gui Tkinter. Сейчас я пытаюсь получить дополнительные данные из базы данных SQLite. Извлеченные данные имеют тип Int, и мне нужно преобразовать это в IntVar, чтобы я мог использовать его в качестве текстовой переменной в ярлыке Tkinter. Метод Label(textvariable =) требовал, чтобы в этом случае это был IntVar.
Итак, чтобы подвести итог, мне нужно преобразовать переменную Int в переменную IntVar
Любая помощь была бы отличной,
def display_daily_macros():
daily = sqlite3.connect('daily.db')
data = pandas.read_sql_query("Select * from day", daily)
data_time = data[data['sqltime'] == "2020-09-11"]
all_info = data_time.sum()
protein = all_info['Protein']
print(type(protein))
Комментарии:
1. я полагаю, вы могли бы сделать что-то вроде
IntVar().set(protien)
2. Привет, был бы признателен, если бы вы могли отметить ответ здесь
Ответ №1:
Вы могли бы сделать что-то вроде этого,
from tkinter import *
root = Tk()
protien = '3' #this could be your value from the database
h = IntVar(value=protien) #declaring an IntVar and setting it to protien
e = Entry(root,textvariable=h) #assigning it to the entry widget
e.pack()
root.mainloop()
Здесь вы определяете IntVar()
, а затем используете set()
метод для его создания protien
.
Надеюсь, это то, что вы ищете.
Приветствия
Комментарии:
1. Спасибо за быстрый ответ. Я пробовал это ранее, и он возвращается с «AttributeError: объект ‘NoneType’ не имеет атрибута ‘_root'» есть идеи?
2. @Thaskor не могли бы вы показать код? Сложно сказать без соответствующего кода
3. Вы можете инициализировать
IntVar
во время создания:h = IntVar(value=protien)