吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2027|回复: 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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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, 2025-3-16 04:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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