您的位置:首頁技術文章
文章詳情頁

Python 窗體(tkinter)下拉列表框(Combobox)實例

瀏覽:3日期:2022-08-04 13:15:57

廢話不多說,看代碼吧!

import tkinterfrom tkinter import ttk def go(*args): #處理事件,*args表示可變參數 print(comboxlist.get()) #打印選中的值 win=tkinter.Tk() #構造窗體comvalue=tkinter.StringVar()#窗體自帶的文本,新建一個值comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化comboxlist['values']=('1','2','3','4')comboxlist.current(0) #選擇第一個comboxlist.bind('<<ComboboxSelected>>',go) #綁定事件,(下拉列表框被選中時,綁定go()函數)comboxlist.pack() win.mainloop() #進入消息循環

補充知識:Python GUI 之 Combobox 學習

1. 序言

本章介紹tkinter.ttk的Combobox控件。

2. 環境信息

********************************本系列運行平臺:Windows10 64bitPython 版本:3.7********************************

3. Combobox

Combobox為下拉列表控件,它可以包含一個或多個文本項(text item),可以設置為單選或多選。使用方式為ttk.Combobox(root,option...)。

常用的參數列表如下:

參數

描述

master

代表了父窗口

height

設置顯示高度、如果未設置此項,其大小以適應內容標簽

width

設置顯示寬度,如果未設置此項,其大小以適應內容標簽

state

可讀狀態,如state= “readonly”

textvariable

設置textvariable屬性

一些常用的函數:

函數

描述

get

返回制定索引的項值,如listbox.get(1);返回多個項值,返回元組,如listbox.get(0,2);返回當前選中項的索引listbox.curselection()

values

設定下拉列表的內容。如 data = ['a','b','c'], cbx['values'] = data

current(i)

指定下拉列表生成時顯示在列表值,i = index。如current(2),顯示列表中的第三個值

事件:

下拉列表沒有command函數(方法)。

下拉列表的虛擬事件是 '<<ComboboxSelected>>'。

4. 實例

實例1

from tkinter import *from tkinter import ttk #Create an instancewin = Tk()win.title('Learn Combobox') #create a Labellb1 = Label(win, text = 'Below is a combobox 1', font = 'tahoma 12 normal')lb1.grid(column = 0, row = 0, padx = 8, pady = 4) def show_select_1():print('post_command: show_select')print(value.get()) #Define tkinter data typedata = ['a','b','c']value = StringVar() #Create a combobox, and tighter it to valuecbx_1 = ttk.Combobox(win, width = 12, height = 8, textvariable = value, postcommand = show_select_1)cbx_1.grid(column = 0, row = 1) #add data to comboboxcbx_1['values'] = data #======================================================================================================#create a Labellb2 = Label(win, text = 'Below is a combobox 2', font = 'tahoma 12 normal')lb2.grid(column = 0, row = 4, padx = 8, pady = 4) def show_data_2(*args):print('Event: ComboboxSelected')print(cbx_2.get()) #Define tkinter data typedata2 = ['a2','b2','c2','d2','e2'] #Create a combobox, and tighter it to valuecbx_2 = ttk.Combobox(win, width = 12, height = 8)cbx_2.grid(column = 0, row = 5) #set cbx_2 as readonlycbx_2.configure(state = 'readonly') #add data to comboboxcbx_2['values'] = data2#set the initial data [index =2] to shows up when win generatedcbx_2.current(2) #bind a eventcbx_2.bind('<<ComboboxSelected>>', show_data_2) win.mainloop()

以上這篇Python 窗體(tkinter)下拉列表框(Combobox)實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区