首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tkinter组合框输出条目中的数据

Tkinter组合框输出条目中的数据
EN

Stack Overflow用户
提问于 2018-04-26 18:25:41
回答 1查看 461关注 0票数 0

我一直在研究这个小小的Tkinter地址簿系统。系统是这样的,它有一个组合框和一个条目。我正在从数据库中提取数据到条目。

这里有个问题,我想让条目提供我从组合框中选择的姓名的电话号码。我从这里选择了一些人的函数,改变了一些东西,它仍然给我一个不同的输出。

下面是它在条目中给出的输出:

代码语言:javascript
运行
复制
<sqlite3.Cursor object at 0x102e09f10>

这是代码。

代码语言:javascript
运行
复制
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()

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-26 19:38:37

在代码current变量中查看这一部分要获得在combobox中选择的项,您应该在entry小部件中执行insert,而不是从sqlite3中执行myData

代码语言:javascript
运行
复制
   def combobox_handler(self, event):
       current = self.combobox.current()
       self.entNumber.delete(0, END)
       self.entNumber.insert(END, self.current)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50040611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档