午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Tkinter教程之Text(2)篇

 Mq_Guo 2017-07-23
[python] view plain copy
  1. '''''10.使用自定義mark對文本塊添加tag'''  
  2. # -*- coding: utf-8 -*-  
  3. # tag_add方法的使用  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. # 創(chuàng)建一個TAG,其前景色為藍(lán)色  
  9. t.tag_config('b', foreground='blue')  
  10. for i in range(10):  
  11.     t.insert(1.0'0123456789\n')  
  12. # 自定義兩個mark,并使用它們來指定添加tag的文本塊  
  13. t.mark_set('ab''3.1')  
  14. t.mark_set('cd', END)  
  15. t.tag_add('b''ab''cd')  
  16.   
  17. t.pack()  
  18. root.mainloop()  
  19. # 先向Text中添加了10行文本,創(chuàng)建兩個mark('ab'和'cd'),將使用這兩個tag指定文本的文本塊使用此tag  

[python] view plain copy
  1. '''''11.使用indexes獲得Text中的內(nèi)容'''  
  2. # -*- coding: utf-8 -*-  
  3. # 分別使用內(nèi)置的indexes和自定義mark來獲取文本  
  4. # get方法的使用  
  5. from tkinter import *  
  6.   
  7. root = Tk()  
  8. t = Text(root)  
  9. for i in range(10):  
  10.     t.insert(1.0, str(i) + ' 0123456789\n')  
  11. # 獲得1.0-2.3的文本  
  12. print(t.get('1.0''2.3'))  
  13. # 自定義兩個mark,并使用它們來獲得文本塊  
  14. t.mark_set('ab''3.1')  
  15. t.mark_set('cd', END)  
  16. print(t.get('ab''cd'))  
  17. t.pack()  
  18. root.mainloop()  

[python] view plain copy
  1. '''''12.測試delete對tag的影響'''  
  2. # -*- coding: utf-8 -*-  
  3. # delete方法不會對tag造成影響,也就是說刪除文本與tag沒有任何關(guān)系  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. # 創(chuàng)建一個TAG,其前景色為藍(lán)色  
  9. t.tag_config('b', foreground='blue')  
  10. for i in range(10):  
  11.     t.insert(1.0, str(i) + ' 0123456789\n')  
  12. # 自定義兩個mark,并使用它們來指定添加tag的文本塊  
  13. t.mark_set('ab''3.1')  
  14. t.mark_set('cd', END)  
  15. t.tag_add('b''ab''cd')  
  16. # 刪除(1.0 - 4.0)的文本  
  17. t.delete('1.0''4.0')  
  18. t.pack()  
  19. root.mainloop()  
  20. # (1.0-4.0)的文本全部初始刪除了,剩余的文本全部以藍(lán)色顯示,即還保留tag的屬性  

[python] view plain copy
  1. '''''13.使用tag_delete對文本屬性的影響'''  
  2. # -*- coding: utf-8 -*-  
  3. # 使用tag_delete方法操作tag  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. # 創(chuàng)建一個TAG,其前景色為藍(lán)色  
  9. t.tag_config('b', foreground='blue')  
  10. for i in range(10):  
  11.     t.insert(1.0, str(i)+' 0123456789\n')  
  12. # 自定義兩個mark,并使用它們來指定添加tag的文本塊  
  13. t.mark_set('ab''3.1')  
  14. t.mark_set('cd', END)  
  15. t.tag_add('b''ab''cd')  
  16. # 刪除tag 'b',注意這個操作是在tag_add之后進(jìn)行的。  
  17. t.tag_delete('b')  
  18. t.pack()  
  19. root.mainloop()  
  20. # 結(jié)果所有的文本沒有了tag('b')屬性,即tag_delete會清除所有與此tag相關(guān)的屬性,不論是之前還是之后  

[python] view plain copy
  1. '''''Tkinter教程之Text篇(3)'''  
  2. '''''14.自定義tag的兩個內(nèi)置屬性'''''  
  3. # tag.first:tag之前插入文本,此文本不包含在這個tag中  
  4. # tag.last:tag之后插入文本,此文本包含在這個tag中  
  5. # -*- coding: utf-8 -*-  
  6. # 使用tag的內(nèi)置屬性來插入文本  
  7. from tkinter import *  
  8.   
  9. root = Tk()  
  10. t = Text(root)  
  11. # 創(chuàng)建一個TAG,其前景色為藍(lán)色  
  12. t.tag_config('b', foreground='blue')  
  13. for i in range(10):  
  14.     t.insert(1.0, str(i) + ' 0123456789\n')  
  15. # 自定義兩個mark,并使用它們來指定添加tag的文本塊  
  16. t.mark_set('ab''3.1')  
  17. t.mark_set('cd', END)  
  18. t.tag_add('b''ab''cd')  
  19. # 刪除tag 'b',注意這個操作是在tag_add之后進(jìn)行的。  
  20. # 在tag('b')之前插入'first'  
  21. t.insert('b.first''first')  
  22. # 在tag('b')之后插入'last'  
  23. t.insert('b.last''last')  
  24. t.pack()  
  25. root.mainloop()  
  26. # 注意:first沒有使用tag('b')屬性,last使用了tag('b')屬性  

[python] view plain copy
  1. '''''15.在Text中創(chuàng)建按鈕'''  
  2. # -*- coding: utf-8 -*-  
  3. # 使用window_create在Text內(nèi)創(chuàng)建一widget  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. for i in range(10):  
  9.     t.insert(1.0'0123456789 ')  
  10.   
  11.   
  12. def printText():  
  13.     print('buttin in text')  
  14.   
  15.   
  16. bt = Button(t, text='button', command=printText)  
  17. # 在Text內(nèi)創(chuàng)建一個按鈕  
  18. t.window_create('2.0', window=bt)  
  19. # 沒有調(diào)用pack()  
  20. # bt.pack()  
  21. t.pack()  
  22. root.mainloop()  
  23. # 注意:使用window_create,而不是使用insert('2.0',bt);pack()也不用調(diào)用;  
  24. # 點擊這個按鈕,打印出'button in text',證明這個按鈕是可以正常工作的。  

[python] view plain copy
  1. '''''16.在Text中創(chuàng)建一個圖像(未實現(xiàn))'''  
  2. # -*- coding: utf-8 -*-  
  3. # 使用window_create在Text內(nèi)創(chuàng)建一widget  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. for i in range(10):  
  9.     t.insert(1.0'0123456789\n')  
  10. # 分別使用BitmapImage和PhotoImage進(jìn)行測試,均沒有顯示出圖像???  
  11. # bm = BitmapImage('gray75')  
  12. bm = PhotoImage('d:/1.png')  
  13. # 在Text內(nèi)創(chuàng)建一個圖像  
  14. t.image_create('2.0', image=bm)  
  15. print(t.image_names())  
  16. # 打印的圖像名稱都是正確的  
  17. t.pack()  
  18. root.mainloop()  
  19. # 按照手冊中的說明未實現(xiàn)這種效果,原因不知。  

[python] view plain copy
  1. '''''17.綁定tag與事件'''  
  2. # -*- coding: utf-8 -*-  
  3. # 使用tag_bind方法  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. for i in range(10):  
  9.     t.insert(1.0'0123456789\n')  
  10. # 創(chuàng)建一個tag  
  11. t.tag_config('a', foreground='blue', underline=1)  
  12.   
  13.   
  14. # Enter的回調(diào)函數(shù)  
  15. def enterTag(event):  
  16.     print('Enter event')  
  17.   
  18.   
  19. # 綁定tag('a')與事件('<Enter>')  
  20. t.tag_bind('a''<Enter>', enterTag)  
  21. t.insert(2.0'Enter event ''a')  
  22. t.pack()  
  23. root.mainloop()  
  24. # 注意:使用tag_bind綁定tag與事件,當(dāng)此事件在tag上發(fā)生時便就會調(diào)用這個tag的回調(diào)函數(shù)  
  25. # 因為使用了Enter事件,此事件含有一個參數(shù),故將enterTag加了一個參數(shù),程序中不使用此參數(shù)  

[python] view plain copy
  1. '''''18.使用edit_xxx實現(xiàn)編輯常用功能(未實現(xiàn))'''  
  2. # -*- coding: utf-8 -*-  
  3. # 使用edit_xxx函數(shù)實現(xiàn)編輯常用功能  
  4. from tkinter import *  
  5.   
  6. root = Tk()  
  7. t = Text(root)  
  8. for i in range(10):  
  9.     t.insert(1.0'0123456789\n')  
  10. t.pack()  
  11.   
  12.   
  13. # 定義回調(diào)函數(shù)  
  14. # 撤消回調(diào)函數(shù)  
  15. def undoText():  
  16.     t.edit_undo()  
  17.   
  18.   
  19. # 插入文本函數(shù)  
  20. def insertText():  
  21.     t.insert(1.0'insert text')  
  22.   
  23.   
  24. Button(root, text='undo', command=undoText).pack(fill=X)  
  25. Button(root, text='insert text', command=insertText).pack(fill=X)  
  26.   
  27. root.mainloop()  
  28. # 這個edit_undo方法也是不起作用,不知為何???  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多