0

こんにちは、Python のプログラムからテキストを取得して文字列に変換するのに苦労しているので、ファイルに数値を書き込むだけでファイルに書き込むことができます。私はこのコードを入れます:

from tkinter import *

a = Tk()
a.title("i need help")
a.geometry("600x600")

entryText = StringVar(None)

codeEdit = Text(a)
codeEdit.insert(END, "")
codeEdit.pack(side='top')

text = str(codeEdit)

def setLoc():
    saveFile = open("DATA\Test.txt", "w")
    saveFile.write(text)
    saveFile.close()


    return 

writeButton = Button(text="Write",command=setLoc)
writeButton.pack(side='bottom')

そのため、obj locFile をファイル Test.txt に書き込むコードですが、プログラムのテキスト ボックスに何かを入力して writButton を押すと、入力したものではなく、.50132192 がファイルに書き込まれるので、それを文字列に変換する方法を知りたいですか?

4

1 に答える 1

0

(行 1、文字 0) からまでのすべてのテキストを取得するには、Textウィジェットのgetメソッドを使用する必要があります。'1.0'END

関数でこれを行うコードの修正版を次に示しwrite_textます。gridまた、スクロール バーを追加し、パックの代わりに使用するように切り替えました。

from tkinter import *
from tkinter import ttk

def write_text():
    text = edit.get('1.0', END)
    with open("DATA/Test.txt", "w") as f:
        f.write(text)

root = Tk()
root.title("This May Help")
root.geometry("600x600")

edit = Text(root, width=80, height=25, wrap=NONE)
edit.insert('1.0', '[enter text]')
edit.grid(column=0, row=0, sticky=(N,W,E,S))

yscroll = ttk.Scrollbar(root, orient=VERTICAL, command=edit.yview)
yscroll.grid(column=1, row=0, sticky=(N,S))
edit['yscrollcommand'] = yscroll.set

xscroll = ttk.Scrollbar(root, orient=HORIZONTAL, command=edit.xview)
xscroll.grid(column=0, row=1, sticky=(W,E))
edit['xscrollcommand'] = xscroll.set

write_button = Button(text="Write", command=write_text)
write_button.grid(column=0, row=2)
于 2013-03-29T16:24:23.417 に答える