Tkinter中Entry调用get()取值后拼接字符串自动换行问题咨询
问题根因
你从entry0.get()方法获取到的字符串末尾自带了换行符\n,这是导致后续内容强制换行的核心原因。
- 多数GUI框架的输入框组件(比如Tkinter的Entry控件),如果用户输入完成后按下了回车,或是部分组件的取值逻辑默认会在内容末尾追加换行符,都会导致你拿到的
name变量实际值为Dany\n,而非预期的Dany。 - 拼接字符串后完整内容为
pls give Dany\n all,打印时\n会被识别为换行符,所以后续的all会被拆分到第二行,发送到其他应用时也会被识别为换行分割的独立内容。 - 你可以通过代码
print(repr(name))验证该问题,repr()方法会将字符串内的不可见转义字符直接输出,如果返回结果为'Dany\n'即可确认问题。
修复方案
拿到输入框取值后先做一次首尾空白字符清理即可:
name = entry0.get().strip() name = str(name) print(f"pls give {name} all")
strip()方法会默认移除字符串首尾的空格、换行符\n、制表符\t等所有空白类字符,处理后再做字符串拼接就不会出现异常换行问题。
内容的提问来源于stack exchange,提问作者PeterProfits
相关产品推荐
相关产品推荐

