#python #mysql #tkinter
#python #mysql #tkinter
Вопрос:
Вот мой код. Я использую метод levelcombobox для заполнения моего combobox
from tkinter.ttk import *
from tkinter import *
from tkinter.font import Font
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="root",
database="efs"
)
e3 = Combobox(frame2, font=bFont, width=18).grid(row=3, column=2)
Select="select distinct(level) from table1"
mycursor.execute(Select)
result1=mycursor.fetchall()
e3["values"] = result1
Я новичок в графическом интерфейсе python. Поправьте меня, если я мог бы оптимизировать этот код. Заранее спасибо.
Комментарии:
1. Попробуйте перебрать
result1
и сказатьe3['values'] = result
, где результатом является каждое значение вresult1
2. ошибка: TypeError: индексы списка должны быть целыми числами или фрагментами, а не str
3.
e3
это ведь не список, верно?
Ответ №1:
просто добавьте
from tkinter import ttk
затем выполните следующие действия
Select="select distinct(level) from table1"
mycursor.execute(Select)
result1=mycursor.fetchall() #a list of tuples
Добавьте ttk перед Combobox
e3 = ttk.Combobox(frame2, value=result1).grid(row=3, column=2) #populate