gpt4 book ai didi

python-3.x - tkinter 用户输入小部件到 xlsx

转载 作者:行者123 更新时间:2023-12-02 09:18:28 24 4
gpt4 key购买 nike

如何将用户输入从 tkinter 输入小部件写入 xlsx?我应该使用不同的模块吗?

from tkinter import *
import xlsxwriter

def output():

c = Toplevel(root)
c.title =("Main")
c.geometry =('')


e= Entry(c, width=20).grid(row=0, column=1, sticky=W, padx=10)
l=Label(c, text="Current Value").grid(row = 0, column=0, sticky=W, padx=10)


e2 = Entry(c, width=20).grid(row=1, column=1, sticky=W, padx=10)
l2= Label(c, text="New Value").grid(row = 1, column=0, sticky=W, padx=10)
b=Button(c, text="Submit",command= write_to_xlsx).grid(row= 1, column=2, sticky=E, padx=10)



def write_to_xlsx():


workbook =xlsxwriter.Workbook('tkintertest18.xlsx')

worksheet = workbook.add_worksheet()

worksheet.write_string('C1', 'e2.get()')

workbook.close()


root = Tk()
root.title("Main Menu")
root.geometry('400x400+230+130')

Button(root, text="1", command=output).grid(row =0, column= 2)

root.mainloop()

最佳答案

当涉及 tkinter 时,您几乎应该总是使用一个类。这是上面代码的工作原型(prototype)。存在多个问题。其中之一是,当您将 grid 放在小部件旁边而不是将它们放在新行上时,grid 返回 None,而不是对象。将应用程序实现为类使其他函数能够访问 GUI 组件(在本例中为 self.e2)。另一个错误是您用单引号引用了“e2.get()”调用,从技术上讲,它是一个字符串。因此删除引号可以解决这个问题。可能还有其他事情......

import xlsxwriter

class XLwriter:

def __init__(self):

c = Toplevel(root)
c.title =("Main")
c.geometry =('')


self.e= Entry(c, width=20).grid(row=0, column=1, sticky=W, padx=10)
self.l=Label(c, text="Current Value").grid(row = 0, column=0, sticky=W, padx=10)


self.e2 = Entry(c, width=20)
self.e2.grid(row=1, column=1, sticky=W, padx=10)
self.l2= Label(c, text="New Value").grid(row = 1, column=0, sticky=W, padx=10)
self.b=Button(c, text="Submit",command=self.write_to_xlsx).grid(row= 1, column=2, sticky=E, padx=10)



def write_to_xlsx(self):


workbook =xlsxwriter.Workbook('tkintertest18.xlsx')

worksheet = workbook.add_worksheet()

worksheet.write_string('C1', self.e2.get())

workbook.close()


root = Tk()
root.title("Main Menu")
root.geometry('400x400+230+130')
app = XLwriter()
#Button(root, text="1", command=output).grid(row =0, column= 2)

root.mainloop()

关于python-3.x - tkinter 用户输入小部件到 xlsx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com