Combobox问题

2024-04-20 09:16:37 发布

您现在位置:Python中文网/ 问答频道 /正文

请原谅我的绿色。正在尝试构建从组合框中选择的选项填充文本框的GUI。什么都没发生。第一次编程所以很感激我在这里犯了很多错误。你知道吗

import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext

# function to display course selected
def courseDisplay():
    box = course.get() 
    print(box)

# Create instance
win = tk.Tk() 
win.resizable(130,130)   
win.title("RaceCourse GUI")

# create combobox
course = tk.StringVar()
courseChosen = ttk.Combobox(win,width=60,textvariable=course,state='readonly')   
courseChosen['values'] = ("Choose a course","Ascot", "Bath", "Chester")
courseChosen.grid(column=5, row=1,rowspan = 3, columnspan = 3,padx = 300, pady = 40)
courseChosen.current(0)
courseChosen.bind("<<ComboboxSelected>>", courseDisplay)

# create scrolled Text control    
scrolW  = 46
scrolH  =  10
box = scrolledtext.ScrolledText(win, width=scrolW, height=scrolH, wrap=tk.WORD)
box.grid(column=5, row=8, columnspan=3,padx = 300,pady = 10)

# Start GUI

win.mainloop()

Tags: fromimportboxtkintercreateguiwidthwin
1条回答
网友
1楼 · 发布于 2024-04-20 09:16:37

由于函数courseDisplay是在combobox上发生某个事件时(即选择某个选项时)调用的,因此它应该接受一个变量(通常称为event)。所以,你的函数应该是这样的:

def courseDisplay(event=None):
    box = course.get() 
    print(box)

当然,您应该添加另一个逻辑来在文本框中显示test,而不是print。你知道吗

相关问题 更多 >