如何将Tkinter Entry控件的逗号分隔数字字符串转为int数组?
解析Tkinter Entry中的逗号分隔数字为整数数组
直接修改key_return函数,加入字符串解析逻辑即可实现需求,完整代码如下:
from tkinter import * def key_return(event): stringToParse = String_entry.get() # 核心解析逻辑 parsedString = [int(num.strip()) for num in stringToParse.split(',')] print(parsedString) # 输出预期的int数组,例如[110,220,330] root = Tk() # 创建Entry控件 String_entry = Entry(root, width=20, font=('Helvetica 13')) String_entry.insert(INSERT, "110,220,330") # 替换示例文本为符合格式的内容 # 绑定回车键触发解析 String_entry.bind('<Return>', key_return) String_entry.pack() root.mainloop()
解析逻辑说明
- 先用
split(',')将输入字符串按逗号分割成字符串列表,比如'110,220,330'会被分割为['110', '220', '330'] - 再通过列表推导式,对每个元素调用
strip()去除可能存在的首尾空格(兼容用户输入'110, 220, 330'这类带空格的情况),最后转成int类型 - 如果需要处理用户输入非数字的异常情况,可以添加异常捕获:
def key_return(event): stringToParse = String_entry.get() try: parsedString = [int(num.strip()) for num in stringToParse.split(',')] print(parsedString) except ValueError: print("输入格式错误,请输入逗号分隔的纯数字")
内容的提问来源于stack exchange,提问作者i33SoDA
相关产品推荐
相关产品推荐

