Python之tkinter 下拉式列表 OptionMenu

下拉式列表 OptionMenu 简介

OptionMenu 可以翻译为下拉式列表,用户可以从中选择一项,构造方法如下

OptionMenu(父对象, options, *value)

其中,*value是一系列下拉列表,下面详细写出

建立基本的OptionMenu

例子:

import tkinter

root = tkinter.Tk()

var = tkinter.StringVar()
optionMenu = tkinter.OptionMenu(root, var, 'python', 'java', 'C', 'C++', 'C#')
optionMenu.pack()

root.mainloop()

运行结果:
在这里插入图片描述
选择一项后,选项会更改

使用元组建立列表项目

例子

import tkinter

root = tkinter.Tk()

tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
# 这里必须要带*号,要不然解释器会认为是一个数据,只会显示一行的
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()

root.mainloop()

运行结果跟上面一样

建立默认选项 set()

在程序刚执行时,没有看到任何项目,不过我们可以使用 set() 方法为这个 OptionMenu 建立默认选项
例子

import tkinter

root = tkinter.Tk()

tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
var.set('python')
# 这里必须要带*号,要不然解释器会认为是一个数据,只会显示一行的
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()

root.mainloop()

运行结果:
在这里插入图片描述

当然,我们可以使用元组变量名称 + 索引方式来设置默认值

例子

var.set(tupleVar[0])

运行结果跟上面一样

获得选项内容 get()

例子

import tkinter

def show():
    varLabel.set(var.get())


root = tkinter.Tk()

tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
var.set(tupleVar[0])
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()

varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=20, height=3, bg='lightblue', fg='red')
label.pack()

button = tkinter.Button(root, text='print', command=show)
button.pack()

root.mainloop()

运行结果:
在这里插入图片描述

谢谢观看,笔者会持续更新,如有错误或者建议,请私信我

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Python tkinter 中的下拉列表框是一种常用的用户界面控件,可以让用户从预定义的选项中选择一个或多个选项。它通常由一个文本框和一个下拉箭头组成,用户可以单击箭头以显示可用选项列表。在 tkinter 中,可以使用 ttk.Combobox 类来创建下拉列表框,可以设置选项列表、默认选项、宽度等属性。同时,也可以使用 bind() 方法来绑定事件处理程序,以响应用户的选择操作。 ### 回答2: Python tkinter是一个流行的GUI工具包,它提供了一系列的控制小部件,以帮助用户设计直观且易于使用的GUI程序。 下拉列表框是其中一个比较常用的控件,它允许用户从预定义的选项中选择一个值。python tkinter提供了一些方法实现下拉列表框,下面是一些的简单用法: 1. 在tkinter中使用下拉列表框,需要首先导入ttk模块: ```python from tkinter import * from tkinter.ttk import * ``` 2. 定义下拉列表框: ```python combo = Combobox(root) ``` 3. 添加选项: ```python combo['values'] = ('apple', 'banana', 'cherry', 'dog', 'cat') ``` 4. 运行窗口: ```python combo.pack() root.mainloop() ``` 完整的示例代码: ```python from tkinter import * from tkinter.ttk import * root = Tk() root.geometry('200x100') combo = Combobox(root) combo['values'] = ('apple', 'banana', 'cherry', 'dog', 'cat') combo.pack(pady=20) root.mainloop() ``` 在上述示例中,我们创建了一个窗口并在该窗口中加入了一个下拉列表框。下拉列表框中包含了五个选项,当用户点击下拉列表框时,可以从这五个选项中选择一个。 总之,python tkinter提供了一些简单易用的方法来创建下拉列表框,使得用户可以以更加直观的方与程序互动。 ### 回答3: Python tkinter 是一个广泛应用于Python GUI编程的模块,提供了丰富的工具和函数,以便于开发者实现各种类型的界面和控件。当我们需要将多个选项提供给用户选择时,下拉列表框就是一个常见的选择。 Python tkinter下拉列表框(Combobox)使用户可以从下拉列表中选择一个或多个选项,这些选项由程序员在创建时定义。下拉列表框的组成包括显示框和下拉箭头,当用户单击箭头,显示框内的选项列表将呈现出来,用户可以选择一个或多个选项,然后将其返回给程序。 要创建 Python tkinter 下拉列表框组件,需要使用 tkinter.ttk.Combobox() 方法。此方法需要以下参数: - master: 必选参数,表示父控件窗口。 - values: 必选参数,表示下拉列表框中的选项,可以是列表、元组或字典等序列型数据。 - state: 可选参数,表示下拉列表框是否可以更改,可设置为 "readonly" 或 "normal",默认为 "normal"。 - width: 可选参数,表示下拉列表框的宽度。 例如,我们可以使用以下代码来创建一个简单的下拉列表框: ``` from tkinter import * from tkinter.ttk import * root = Tk() root.geometry("300x300") options = ["Option 1", "Option 2", "Option 3"] variable = StringVar() variable.set(options[0]) combobox = Combobox(root, values=options, textvariable=variable) combobox.pack(pady=10) root.mainloop() ``` 在上述代码中,我们首先导入 tkintertkinter.ttk 模块。然后使用 Tk() 方法创建一个根窗口,并设置其大小为 300x300。接下来,我们定义了一个选项列表 options,其中包含三个字符串选项。然后,我们使用 StringVar() 方法创建一个变量 variable,该变量用于跟踪用户选择的选项。我们将变量的值设置为 options 列表的第一个选项,即 "Option 1"。最后,我们使用 Combobox() 方法创建一个下拉列表框,该下拉列表框包括选项列表、变量变量和显示框。我们使用 pack() 方法将下拉列表框放置在根窗口中,并使用 pady=10 设置垂直间距。最后,我们使用主事件循环(mainloop())来保持程序在运行状态。 总而言之,Python tkinter下拉列表框使用户可以从一个选项列表中选择一个或多个选项,这使得用户界面更加友好和易于使用。通过使用 tkinter.ttk.Combobox() 方法,我们可以轻松地创建下拉列表框,其参数包括窗口、选项列表、变量变量和显示框等组成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值