鱼C论坛

 找回密码
 立即注册
查看: 2651|回复: 3

combobox获取下拉框的索引值

[复制链接]
发表于 2021-5-8 10:17:56 | 显示全部楼层 |阅读模式
5鱼币
代码如下:
    #设置“朝向”列表框
    label_orient = Label(frame_prehouse,text="朝向:",font=("宋体",15))
    label_orient.grid(row=2,columnspan=2,sticky=W,padx=160,pady=20)
    Orient = StringVar()
    list_orient = ttk.Combobox(frame_prehouse, textvariable=Orient, state='readonly', width=12)
    list_orient.grid(row=2,columnspan=2,sticky=E)
    list_orient["value"] = ( '东', '东北', '东南', '北', '南', '西', '西北', '西南')
    list_orient.current(0)
    def getorient(event):
        return list_orient.current()     
    print(getorient())
    list_orient.bind("<<ComboboxSelected>>", getorient)
这个方法不能够动态获取到下拉列表框的索引值...,比如我点击“东南”选项,想通过getorient方法获取到2这个索引值,目前方法获取不到

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-8 10:24:45 | 显示全部楼层
么写过,但是看出错提示,你没有绑定事件
逻辑上来说,应该有个下拉框数值改变事件,具体可以百度找找。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-8 10:32:13 | 显示全部楼层
z5560636 发表于 2021-5-8 10:24
么写过,但是看出错提示,你没有绑定事件
逻辑上来说,应该有个下拉框数值改变事件,具体可以百度找找。

您好,我试着print(getorient())   ,  报错是这样的. missing 1 required positional argument: 'event'
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-8 10:51:47 | 显示全部楼层
1. def 要写在前面,组件前面
2. 触发函数,通常不用return,而是用传递函数或直接在内部处理,如使用Label显示

参考:
  1. root = Tk()
  2. root.geometry("500x400")

  3. frame_prehouse = ttk.Frame(root, )
  4. frame_prehouse.grid(row=0, column=0)

  5. # 设置“朝向”列表框
  6. def getorient(event):
  7.     lb = Label(frame_prehouse, text=list_orient.get())
  8.     lb.grid(row=3, column=1)
  9.     # print(list_orient.get())

  10. # label_orient = ttk.Label(frame_prehouse,text="朝向:",font=("宋体",15))
  11. # label_orient.grid(row=2,columnspan=2,sticky=W,padx=160,pady=20)
  12. Orient = StringVar()
  13. list_orient = ttk.Combobox(frame_prehouse, textvariable=Orient, state='readonly', width=12)
  14. list_orient["value"] = ( '东', '东北', '东南', '北', '南', '西', '西北', '西南')
  15. list_orient.grid(row=2,columnspan=2,sticky=E)
  16. list_orient.current(0)
  17. list_orient.bind("<<ComboboxSelected>>", getorient)

  18. root.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 04:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表