我的代码,第57行,那个前景色和后景色为什么不能写fg和bg,第64行,最后那个函数里为什么要有两个位置参数,我随便写了个字母进去都行,还有就是之前问的为什么我的button在文本框下方
from tkinter import *
import webbrowser
class Application(Frame):
def __init__(self, master=None):
super().__init__(master) #super()调用了父类的属性
self.master = master
self.pack()
self.creatWidget() #调用creatWidget()方法
def creatWidget(self):
self.text1 = Text(self, width=40, height=12, bg="gray")
self.text1.pack()
self.text1.insert(1.0, '123456789\nabcdefg')
self.text1.insert(2.5, '好好学习,天天向上\n')
Button(self, text='重复插入文本', command=self.btn01).pack(side="left")
Button(self, text='返回文本', command=self.btn02).pack(side="left")
Button(self, text='添加图片', command=self.btn03).pack(side="left")
Button(self, text='添加组键', command=self.btn04).pack(side="left")
Button(self, text='通过tag精确控制文本', command=self.btn05).pack(side="left")
def btn01(self):
# INSERT索引表示在光标处插入
self.text1.insert(INSERT, 'xuwanhai')
# END索引号表示在最后插入
self.text1.insert(END, '湖州师范学院')
# 2.3表示索引位置,第二行第三个字符处
self.text1.insert(2.3, '许万海')
def btn02(self):
# 通过get()方法获得1.6-2.5处的值并打印
print('返回指定位置的文本内容:\n'+self.text1.get(1.6, 2.5))
print('文本中所有内容:\n'+self.text1.get(1.0, END))
def btn03(self):
self.photo = PhotoImage(file="imgs/logo.gif")
# 在文本结尾添加图片 image_create()在文本中添加图片的命令
self.text1.image_create(END, image=self.photo)
def btn04(self):
btn = Button(self, text='好好学习')
# 在文本光标处插入组键 window_create()在文本中添加图片的命令
self.text1.window_create(INSERT, window=btn)
def btn05(self):
# 删除开始到结尾的文本内容 delete()方法
self.text1.delete(1.0, END)
# 在索引处插入内容
self.text1.insert(INSERT, '好好学习\n天天向上\n许万海\n湖州师范学院\n百度一下')
# 通过tag_add()方法将内容标记,并写出内容所在的索引位置
self.text1.tag_add('好好学习', 1.0, 1.5)
# 通过tag_config()方法对标记的内容添加属性
self.text1.tag_config('好好学习', foreground='red', background='yellow')
self.text1.tag_add('百度一下', 5.0, 5.5)
# 通过tag_bind()方法对所标记的内容进行事件绑定
self.text1.tag_bind('百度一下', "<Button-1>", self.web)
self.text1.tag_config('百度一下', underline=True)
def web(self, e):
webbrowser.open('www.baidu.com')
if __name__ == '__main__':
root = Tk()
root.geometry('400x200+1000+200')
root.title('登录入口')
app = Application(master=root)
root.mainloop()