You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Tkinter Combobox选中值写入Entry文本框并逐次追加内容

问题解决代码

你原有代码的核心问题是Add函数的实现不符合tkinter.Entry的插入规则,也没有处理首次插入和后续追加的格式逻辑,修改后的完整代码如下:

import tkinter as tk
from tkinter.ttk import Combobox

form = tk.Tk()
form.title("Pi Theorem")
form.geometry("300x300")

x = tk.StringVar()

def Add():
    selected_val = x.get().strip()
    # 未选中值时不执行操作
    if not selected_val:
        return
    current_text = textbox.get()
    # 首次插入逻辑
    if not current_text:
        textbox.insert(0, f"Selected letter: {selected_val}")
    # 后续追加逻辑
    else:
        textbox.insert(tk.END, f",{selected_val}")

# 按钮
buton = tk.Button(form, text='EKLE', fg='black', command=Add)
buton.place(x=200, y=50, height=20)

# 输入文本框
textbox = tk.Entry(fg='black', bg='white')
textbox.place(width=150, height=20, x=20, y=100)

# 下拉框
degiskenler = ['g','Q','p','H','M']
combobox = Combobox(form, values=degiskenler, textvariable=x, height=3)
combobox.place(width=150, height=20, x=20, y=50)

form.mainloop()
修改点说明
  • 修复了Entry.insert方法的传参错误,第一个参数需传入插入位置:首次插入从起始位置0插入,后续追加从末尾tk.END插入
  • 新增了空值校验逻辑,避免无选中值时插入无效空内容
  • 新增了格式判断逻辑,首次插入携带前缀Selected letter: ,后续插入仅追加逗号和选中值,完全匹配需求效果
  • 移除了无效的pack()调用,你已经使用place布局,重复调用布局方法会引发逻辑冲突

内容的提问来源于stack exchange,提问作者Promise89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:06:03