图形用户界面实现下拉菜单
本帖最后由 paypojie 于 2022-12-6 19:33 编辑Tkint.ttk实现下拉框
前言
一些有关combobox介绍 我熟读并且在心中默背
组合框控件又称为复合框控件,复选框控件,下拉菜单,Combobox控件
我们知道listbox控件是一个供用户从列表项中选择相应条目的的控件 但是如果列表项过多 显示在主窗口上就会显得臃肿不堪
因此 这时候就需要使用下拉菜单了 也就是Combobox控件 下拉菜单应用场景更加广泛
因为Combobox控件并不包含在tkinter模块中 而是包含在tkinter.ttk子模块中 所以需要使用以下导包方式
from tkinter import ttk 或者 from tkinter.ttk import *
语法如下
cbox = Combobox(窗口对象,[参数列表])
Combobox虽然在形式上与Lstbox存在不同 但是 本质上是相同的 因此两个控件属性和方法是通用的
Comebobox有两个常用的方法 get()和current() get()方法用来获取当前选中选项内容 current()方法用来获取选中选项索引值
本人实现的效果图
实现代码
import tkinter
from tkinter import ttk
win = tkinter.Tk()
win.geometry('400x200+200+200')
win.resizable(0,0)
# 创建下拉菜单控件
cbox = ttk.Combobox(win)
# 使用grid()设置下拉菜单的位置
cbox.grid(padx=5,pady=5,sticky='NW')
# 设置下拉菜单的选项内容
cbox['value'] = ['C','C++','Java','Python','JavaScript']
# 设置下拉菜单的默认值
cbox.current(3)
# 定义一个函数 用来绑定事件 选中选项将值插入到文本框
# 函数中必须定义参数 不明白为什么 不定义参数会报错
def func(event):
text.insert('insert',cbox.get()+"\n")
# 为下拉菜单绑定事件 当下拉菜单的选项发生变化时 会产生虚拟事件<<ComboboxSelected>> 利用此特性为该事件绑定处理方法
cbox.bind('<<ComboboxSelected>>',func)
text = tkinter.Text(win)
text.grid(pady=2)
win.mainloop()
学习地址http://c.biancheng.net/tkinter/listbox.html 谢谢老板 感谢分享 网站不错!加入学习收藏夹,谢谢分享 wangjizheng1984 发表于 2022-12-6 20:16
太爱了,谢谢
爱你哟 哈哈 zhangqinglin 发表于 2022-12-6 20:20
谢谢老板
还不是老板 {:301_998:} tearsmm 发表于 2022-12-6 20:49
网站不错!加入学习收藏夹,谢谢分享
别只收藏 要记得看{:301_1001:} 本帖最后由 paypojie 于 2022-12-6 23:15 编辑
User5319422 发表于 2022-12-6 20:24
提问,用Combox控件实现三级菜单,楼主有思路实现类似双控开关的效果吗?
我是用PyQt5 Combox做了多级菜单 ...
Combobox这个模块 我没深入 帮你置顶 看有没有人会 {:301_998:} cbox = Combobox(窗口对象,[参数列表])
巧妙的通过中转获得相应数据 你这注释比代码多:lol
页:
[1]
2