python - Tkinter 组合框在条目中输出数据
问题描述
我一直在研究这个小 Tkinter 通讯录系统。该系统是这样的,它有一个组合框和一个条目。我正在将数据从数据库中提取到条目中。
关键是,我希望该条目提供我从组合框中选择的姓名的电话号码。我从这里选择了某人的功能,改变了一些东西,它仍然给了我不同的输出。
这是它在条目中给出的输出:
<sqlite3.Cursor object at 0x102e09f10>
这是代码。
class MyListbox:
def __init__(self, parent, title):
self.parent = parent
self.parent.title(title)
self.parent.protocol("WM_DELETE_WINDOW", self.closes)
data = cursor.execute('SELECT name FROM addressbook')
self.myData = data
self.establishment()
def combobox_handler(self, event):
current = self.combobox.current()
self.entNumber.delete(0, END)
self.entNumber.insert(END, self.myData)
def establishment(self):
mainFrame = Frame(self.parent)
mainFrame.pack(fill=BOTH, expand=YES)
self.statusBar = Label(mainFrame, text="App",relief=SUNKEN, bd=1)
self.statusBar.pack(side=BOTTOM, fill=X)
fr_left = Frame(mainFrame, bd=10)
fr_left.pack(fill=BOTH, expand=YES, side=LEFT)
names = [person[0] for person in self.myData]
self.combobox = ttk.Combobox(fr_left, values=names)
self.combobox.bind('<<ComboboxSelected>>', self.combobox_handler)
self.combobox.pack()
fr_right = Frame(mainFrame, bd=10)
fr_right.pack(fill=BOTH, expand=YES, side=RIGHT)
fr_up = Frame(fr_right)
fr_up.pack(side=TOP, expand=YES)
Label(fr_up, text='Telephone').grid(row=0, column=0, sticky=W)
self.entNumber = Entry(fr_up)
self.entNumber.grid(row=0, column=1)
def closes(self, event=None):
self.parent.destroy()
提前致谢。
解决方案
请参阅代码current
变量中的此部分以获取在 中选择的项目combobox
,您应该宁愿insert
在entry
小部件中而不是myData
从sqlite3
.
def combobox_handler(self, event):
current = self.combobox.current()
self.entNumber.delete(0, END)
self.entNumber.insert(END, self.current)
推荐阅读
- powershell - 对 Active Directory 中的数据进行分组
- here-api - 是否可以在 HERE 地图中更改附近公交覆盖范围中的“半径”参数?
- c++ - 为什么代码中的逻辑不能正常工作?
- regex - 使正则表达式仅匹配捕获组
- adapter - 从 LiveData 更新 AutoCompleteTextView 的适配器
- typescript - 在界面中指定多个文件类型
- opencv - 将 2D 图像点重新投影到 3D 坐标的方程
- python - 我正在尝试在 Python 中解决 6x6 数独
- hyperledger-fabric - 如何在启用 tls 的情况下启动 fabric-ca 服务器
- c# - 将字节数组转换为对象 C++ | C++ 中的 C# 位转换器