python编程多行输入_Python20-02_GUI编程----Text多行文本框详解

1 #coding:utf-8

2 from tkinter import *

3 importwebbrowser4

5

6 classApplication(Frame):7 """一个经典的GUI程序类写法"""

8 def __init__(self, master=None):9 super().__init__(master) #super代表的是父类的定义,而不是父类的对象

10 self.master =master11 self.pack()12 self.createWidget()13

14 defcreateWidget(self):15 """创建登录界面组件"""

16 self.w1 = Text(root, width=40, height=12, bg='gray')17 self.w1.pack()18 self.w1.insert(1.0, '123456789\nabcdefg')19 self.w1.insert(2.3, 'ooooooooooooooooo')20

21

22 Button(self, text='重复插入文本', command=self.insertText).pack(side='left')23 Button(self, text='返回文本', command=self.returnText).pack(side='left')24 Button(self, text='插入图片', command=self.addImage).pack(side='left')25 Button(self, text='添加组件', command=self.addWidget).pack(side='left')26 Button(self, text='通过tag精确控制文本', command=self.testTag).pack(side='left')27

28

29 definsertText(self):30 #INSERT索引表示在光标处插入

31 self.w1.insert(INSERT, 'Xujie')32 #END索引表示在最后插入

33 self.w1.insert(END, 'Liran')34 self.w1.insert(1.2, 'Xujie')35

36

37 defreturnText(self):38 #Indexes索引用来指向Text组件中文本配置, Text组件索引也是对应实际字符之间的位置

39 #核心:行号从1开始, 列号从零开始

40 print(self.w1.get(1.2, 1.6))41 print('所有文本内容\n'+self.w1.get(1.0, END))42

43

44 defaddImage(self):45 self.photo = PhotoImage(file='1/little_pic.gif')46 self.w1.image_create(END, image=self.photo)47

48

49 defaddWidget(self):50 b1 = Button(self.w1, text='爱liran')51 #在text组件中创建命令

52 self.w1.window_create(INSERT, window=b1)53

54

55 deftestTag(self):56 self.w1.delete(1.0, END)57 self.w1.insert(INSERT, 'good good study, day day up!\n百度搜索')58 self.w1.tag_add('good', 1.0, 1.9)59 self.w1.tag_config('good', background='red',foreground='yellow')60 self.w1.tag_add('baidu', 2.0, 2.2)61 self.w1.tag_config('baidu', underline=True)62 self.w1.tag_bind('baidu', '', self.webshow)63

64

65 defwebshow(self, event):66 webbrowser.open('http://www.baidu.com')67

68

69

70 if __name__ == "__main__":71 root =Tk()72 root.geometry("400x450+200+300")73 root.title('测试')74 app = Application(master=root)75 root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值