Python图形化界面Tkinter(六)-ComboBox

Python图形化界面Tkinter(六)-ComboBox

在上一篇里面
简单的介绍了Tkinter中ListBox的使用
接下来
一起看看ComboBox(下拉列表框)的用法

代码以及注释如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import tkinter as tk

# 创建窗体
from tkinter import ttk

window = tk.Tk()
window.title('Tk Demo')
window.geometry('350x500')

# 用来显示下拉框值的Label
var = tk.StringVar()
la = tk.Label(window, textvariable=var)
la.grid(column=1, row=1)

def click():
var.set(number.get())

number = tk.StringVar()
numberChosen = ttk.Combobox(window, width=12, textvariable=number)
numberChosen['values'] = (1, 2, 4, 42, 100) # 设置下拉列表的值
numberChosen.grid(column=1, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行
numberChosen.current(0) # 设置下拉列表默认显示的值,0为 numberChosen['values'] 的下标值

b1 = tk.Button(window, text='click', command=click)
b1.place(x=50, y=50, anchor=tk.NW)

window.mainloop()
扩展

下面展示Label的另一种赋值方式
具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
# 用来显示下拉框值的Label
var = tk.StringVar()
la = tk.Label(window, text="")
la.grid(column=1, row=1)

def click():
la.config(text=number.get())

# 这里使用的是label的config方法,将值赋给text
# 需要注意的一点是,label里面不要出现textvariable
# 如果有textvariable属性,那么这个赋值不会成功

执行代码,具体效果如下:

Python图形化界面Tkinter(六)-ComboBox

https://trainoo.gitee.io/2018/06/16/Python-tkinter-ComboBox/

作者

Trainoo

发布于

2018-06-16

更新于

2020-06-02

许可协议