Tkinter输入内容无法通过python-docx写入Word文件求助
解决Tkinter输入框内容无法写入Word文件的问题
你的代码存在两个核心问题导致输入内容无法写入Word文件:
- 你在Tkinter主循环启动前就执行了
doc.save(completeName),此时输入框还未被用户输入内容,保存的是包含空输入内容的文档。 - 按钮点击事件的
myClick函数仅向文档添加段落,但没有执行保存操作,修改后的文档从未被写入磁盘文件。
以下是修正后的代码:
from tkinter import * import os.path import docx root = Tk(className='ModifyTheFile - MDF') save_path = r'C:\Users\Example\Desktop\TextForChangeThefile' name_of_file = "Fisa 123" completeName = os.path.join(save_path, name_of_file + ".docx") Exemplul1 = Entry(root) Exemplul1.pack() def myClick(): # 每次点击基于最新输入内容生成文档并保存 doc = docx.Document() doc.add_paragraph('Adresa lu Mister este ' + Exemplul1.get()) doc.save(completeName) myButton = Button(root, text="Exemplu", command=myClick) myButton.pack() root.geometry("1000x700") root.mainloop()
关键修正说明:
- 将文档创建、段落添加和保存操作全部移到
myClick函数内,确保每次点击按钮时,都会基于输入框的最新内容生成并保存Word文件。 - 移除了原代码中主循环前的文档保存操作,避免提前生成空内容的文件。
内容的提问来源于stack exchange,提问作者user14633516
相关产品推荐
相关产品推荐

