簡體   English   中英

將文本輸出到文件 Tkinter

[英]Outputting text to file Tkinter

當我要求它向 output 輸入框歸檔時,它什么也沒做,因為我是 python 的新手,所以我有點卡住了,我知道這是一個簡單的問題,但我不太確定如何解決它。 請幫忙。

import tkinter as tk
from PIL import ImageTk
window= tk.Tk()

def SignUp ():
    text = username_entry.get()
    file= open(r"C:/Users/willi/OneDrive/Documents/Scripts/username_info.txt", "w") 
    file.write(text)
    file.close()

    username_entry.delete(0, tk.END)
    password_entry.delete(0, tk.END)

def createNewWindow():
    window1 = tk.Toplevel(window)
    canvas= tk.Canvas(window1,width=1920,height=1080)
    canvas.create_image(0,0,anchor=tk.NW, image= Main)
    canvas.pack()
    signup_button=tk.Button(window1,width=23, text="Register!", font="CCDutchCourage2", fg="white", height=1, relief="flat", bg="#183936", command=SignUp)
    signup_button.place(x=840, y=665)
    username_entry= tk.Entry(window1,width=14, bg="#183936", font=('Ariston Comic Demo Regular', 35), relief="flat")
    username_entry.place(x=776, y=447)
    password_entry= tk.Entry(window1,width=14, bg="#183936", font=('Ariston Comic Demo Regular', 35), relief="flat")
    password_entry.configure(show="*")
    password_entry.place(x=776, y=555)


Main= tk.PhotoImage(file= r"C:/Users/willi/Images/Asset 15.png")
canvas= tk.Canvas(window,width=1920,height=1080)
canvas.create_image(0,0,anchor=tk.NW, image= Main)
canvas.pack()
signup_button=tk.Button(window,width=23, text="Sign Up!", font="CCDutchCourage2", fg="white", height=1, relief="flat", bg="#183936", command=createNewWindow)
signup_button.place(x=840, y=665)
username_entry= tk.Entry(window,width=14, bg="#183936", font=('Ariston Comic Demo Regular', 35), relief="flat")
username_entry.place(x=776, y=447)
password_entry= tk.Entry(window,width=14, bg="#183936", font=('Ariston Comic Demo Regular', 35), relief="flat")
password_entry.configure(show="*")
password_entry.place(x=776, y=555)

你誤會了。 您的程序確實在username_info.txt文件中存儲了一個值。

問題是,您有兩個名為username_entry的變量。 一個是全局的(在腳本末尾定義),一個是本地的(在createNewWindow()中定義)。 SignUp()訪問全局定義的。 這對應於第一個window 中的一個tk.Entry元素。 如果您將此元素留空並且僅在第二個 window 中鍵入用戶名,則不會存儲任何內容。

此外,您在發布的示例中錯過了tk.mainloop()行。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM