TypeError:write()参数必须是str,而不是Text

时间:2018-02-20 17:46:33

标签: python css tkinter

这是我的代码:

import tkinter

from tkinter import *

import random

import datetime


root=tkinter.Tk()

root.geometry("1350x750+0+0")

root.title("Management System")

root.configure(background ='black')




top = Frame(root, width = 1500, height = 150, bd=10, relief="raise")
top.pack(side=TOP)


f1 = Frame(root, width = 900, height = 650, bd=8, relief="raise")
f1.pack(side=LEFT)


f2= Frame(root, width = 400, height = 650, bd=8, relief="raise")
f2.pack(side=RIGHT)

label = Label(top, font=('arial', 93, 'bold'), text="Employee Management System", bd=10)
label.grid (row=0, column=0)

t= Text(f1, height = 2, width=30,font=('arial', 20, 'bold') )
t.pack()

t.insert(END, "Name:")

**f = open('tempfile.txt','w')**

**f.write(Text)**

**f.close()**

除写入文件位外,一切正常。

1 个答案:

答案 0 :(得分:1)

Text中的一个类(您使用通配符导入进行导入,因为模块的属性直接占用主命名空间而不首先解除引用),而write方法接受str个对象,而不是' Text - 类'对象

你一定意味着:

f.write(t.get('1.0', 'end-1c'))

首先将Text对象中的整个文本作为 string 返回,然后将该字符串写入文件f