吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1932|回复: 12
收起左侧

[学习记录] 图形用户界面实现下拉菜单

[复制链接]
甜萝 发表于 2022-12-6 19:24
本帖最后由 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()方法用来获取选中选项索引值


本人实现的效果图

image.png


实现代码
[Python] 纯文本查看 复制代码
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()

学习地址

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhangqinglin 发表于 2022-12-6 20:20
谢谢老板
GunXiOu888 发表于 2022-12-6 20:30
tearsmm 发表于 2022-12-6 20:49
 楼主| 甜萝 发表于 2022-12-6 23:10

爱你哟 哈哈
 楼主| 甜萝 发表于 2022-12-6 23:10

还不是老板
 楼主| 甜萝 发表于 2022-12-6 23:11
tearsmm 发表于 2022-12-6 20:49
网站不错!加入学习收藏夹,谢谢分享

别只收藏 要记得看
 楼主| 甜萝 发表于 2022-12-6 23:13
本帖最后由 paypojie 于 2022-12-6 23:15 编辑
User5319422 发表于 2022-12-6 20:24
提问,用Combox控件实现三级菜单,楼主有思路实现类似双控开关的效果吗?
我是用PyQt5 Combox做了多级菜单 ...

Combobox这个模块 我没深入 帮你置顶 看有没有人会
wan456 发表于 2022-12-6 23:59
cbox = Combobox(窗口对象,[参数列表])
巧妙的通过中转获得相应数据
ahehaoyu 发表于 2022-12-7 08:13
你这注释比代码多
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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