±à¼ÍƼö: |
±¾Îĸø´ó¼Ò½éÉÜtkinterÄ£¿é(¡°Tk
½Ó¿Ú¡±)ÊÇPythonµÄ±ê×¼Tk GUI¹¤¾ß°üµÄ½Ó¿Ú£¬PythonÖеÄtkinterÄ£¿é×÷ͼ½Ì³Ì£¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
±¾ÎÄÀ´×ÔÓÚ±à³Ì¿ÎÕ»£¬ÓÉ»ðÁú¹ûÈí¼þDelores±à¼£¬ÍƼö¡£ |
|
python¼òÊö£º
PythonÊÇÒ»ÖÖ½âÊÍÐÍ¡¢ÃæÏò¶ÔÏó¡¢¶¯Ì¬Êý¾ÝÀàÐ͵ĸ߼¶³ÌÐòÉè¼ÆÓïÑÔ¡£×Ô´Ó20ÊÀ¼Í90Äê´ú³õPythonÓïÑÔµ®ÉúÖÁ½ñ£¬ËüÖð½¥±»¹ã·ºÓ¦ÓÃÓÚ´¦Àíϵͳ¹ÜÀíÈÎÎñºÍWeb±à³Ì¡£PythonÒѾ³ÉΪ×îÊÜ»¶ÓµÄ³ÌÐòÉè¼ÆÓïÑÔÖ®Ò»¡£2011Äê1Ô£¬Ëü±»TIOBE±à³ÌÓïÑÔÅÅÐаñÆÀΪ2010Äê¶ÈÓïÑÔ¡£×Ô´Ó2004ÄêÒÔºó£¬pythonµÄʹÓÃÂÊÊdzÊÏßÐÔÔö³¤¡£
tkinterÄ£¿é½éÉÜ
tkinterÄ£¿é(¡°Tk ½Ó¿Ú¡±)ÊÇPythonµÄ±ê×¼Tk GUI¹¤¾ß°üµÄ½Ó¿Ú.TkºÍTkinter¿ÉÒÔÔÚ´ó¶àÊýµÄUnixƽ̨ÏÂʹÓÃ,ͬÑù¿ÉÒÔÓ¦ÓÃÔÚWindowsºÍMacintoshϵͳÀï.,Tk8.0µÄºóÐø°æ±¾¿ÉÒÔʵÏÖ±¾µØ´°¿Ú·ç¸ñ,²¢Á¼ºÃµØÔËÐÐÔÚ¾ø´ó¶àÊýƽ̨ÖС£
ÓÉÓÚTkinterÊÇÄÚÖõ½pythonµÄ°²×°°üÖС¢Ö»Òª°²×°ºÃPythonÖ®ºó¾ÍÄÜimport Tkinter¿â¡¢¶øÇÒIDLEÒ²ÊÇÓÃTkinter±àд¶ø³É¡¢¶ÔÓÚ¼òµ¥µÄͼÐνçÃæTkinter»¹ÊÇÄÜÓ¦¸¶×ÔÈç¡£
ÏÔʾÎÄ×Ö
ÓÃcreate_textÔÚ»²¼ÉÏд×Ö¡£Õâ¸öº¯ÊýÖ»ÐèÒªÁ½¸ö×ø±ê£¨ÎÄ×ÖxºÍyµÄλÖã©£¬»¹ÓÐÒ»¸ö¾ßÃû²ÎÊýÀ´½ÓÊÜÒªÏÔʾµÄÎÄ×Ö¡£ÀýÈ磺
>>>
from tkinter import*>>> tk = Tk()>>>
canvas = Canvas(tk,width=400, height=400)>>>
canvas.pack()>>> canvas.create_text(150,100, text='Happy
birthday to you') |

create_textº¯Êý»¹Óм¸¸öºÜÓÐÓõIJÎÊý£¬±È·½Ëµ×ÖÌåÑÕÉ«µÈ¡£ÔÚÏÂÃæµÄ´úÂëÖУ¬ÎÒÃǵ÷ÓÃcreate_textº¯ÊýʱʹÓÃÁË×ø±ê£¨130,120£©£¬»¹ÓÐÒªÏÔʾµÄÎÄ×Ö£¬ÒÔ¼°ºìÉ«µÄÌî³äÉ«£º
canvas.create_text(130,120, text='Happy
birthday to you!', fill='red') |
ÎÒÃÇ»¹¿ÉÒÔÖ¸¶¨×ÖÌ壬·½·¨ÊǸø³öÒ»¸ö°üº¬×ÖÌåÃûºÍ×ÖÌå´óСµÄÔª×é¡£ÀýÈç´óСΪ20µÄTimes×ÖÌå¾ÍÊÇ£¨'Times',20£©£º
>>>
canvas.create_text(150,150, text='Happy birthday', font=('Times',15))>>>
canvas.create_text(200,200, text='Happy birthday', font=('Courier',22))>>>
canvas.create_text(220,300, text='Happy birthday', font=('Couried',30)) |

ÏÔʾͼƬ
ÒªÓÃtkinterÔÚ»²¼ÉÏÏÔʾͼƬ£¬Ê×ÏÈҪװÈëͼƬ£¬È»ºóʹÓÃcanvas¶ÔÏóÉϵÄcreate_imageº¯Êý¡£
ÕâÊÇÎÒ´æÔÚEÅÌÉϵÄÒ»ÕÅͼƬ£º

ÎÒÃÇ¿ÉÒÔÕâÑùÀ´ÏÔʾone.gifͼƬ£º
>>>
from tkinter import*>>> tk = Tk()>>>
canvas = Canvas (tk,width=400,height=400)>>>
canvas.pack()>>> my_image = PhotoImage(file=' E:\\FFOutput\\one.gif')>>>
canvas.create_image(0,0, anchor = NW,image = my_image)
>>> canvas.create_image (50,50,anchor
= NW,image = my_image) |
ÔÚµÚÎåÐÐÖУ¬°ÑͼƬװÈëµ½±äÁ¿my_imageÖС£×ø±ê(0,0)/(50,50)ÊÇÎÒÃÇÒªÏÔʾͼƬµÄλÖ㬠anchor=NWÈú¯ÊýʹÓÃ×óÉϽÇ(northwest Î÷±±·½)×÷Ϊ»Í¼µÄÆðʼµã£¬×îºóÒ»¸ö¾ßÃû²ÎÊýimageÖ¸Ïò×°ÈëµÄͼƬ¡£

×¢£ºÓÃtkinterÖ»ÄÜ×°ÈëGIFͼƬ£¬Ò²¾ÍÊÇÀ©Õ¹ÃûÊÇ.gifµÄͼƬÎļþ¡£
ÏëÒªÏÔʾÆäËûÀàÐ͵ÄͼƬ£¬ÈçPNGºÍJPG£¬ÐèÒªÓõ½ÆäËûµÄÄ£¿é£¬±ÈÈçPythonͼÏñ¿â¡£
´´½¨»ù±¾µÄ¶¯»
´´½¨Ò»¸öÌîÁËÉ«µÄÈý½ÇÐΣ¬ÈÃËüÔÚÆÁÄ»ÉϺáÏòÒÆ¶¯£º
import timefrom
tkinter import*tk = Tk()canvas = Canvas (tk,width=400,height=200) canvas.pack()canvas.create_polygon (10,10,10,60,50,35)
##´´½¨Èý½ÇÐÎfor x in range(0,60): canvas.move(1,5,0)
##°ÑÈÎÒ⻺õĶÔÏóÒÆ¶¯µ½ °ÑxºÍy×ø±êÔö¼Ó¸ø¶¨ÖµµÄλÖà tk.update() ##Ç¿ÖÆtkinter¸üÐÂÆÁÄ»£¨ÖØ»£©
time.sleep(0.05)
##ÈóÌÐòÐÝÏ¢¶þÊ®·ÖÖ®Ò»Ã루0.05Ã룩£¬È»ºó¼ÌÐø |
Èý½ÇÐκáÏòÒÆ¶¯
ÑÓÉìһϣ¬Èç¹ûÏëÈÃÈý½ÇÐÎÑØ¶Ô½ÇÏßÔÚÆÁÄ»ÉÏÒÆ¶¯£¬ÎÒÃÇ¿ÉÒÔµÚ8ÐÐΪ£º
import timefrom
tkinter import*tk = Tk()canvas = Canvas (tk,width=400,height=400) canvas.pack()canvas.create_polygon (10,10,10,60,50,35)
##´´½¨Èý½ÇÐÎfor x in range(0,60): canvas.move(1,5,5)
##°ÑÈÎÒ⻺õĶÔÏóÒÆ¶¯µ½ °ÑxºÍy×ø±êÔö¼Ó¸ø¶¨ÖµµÄλÖà tk.update() ##Ç¿ÖÆtkinter¸üÐÂÆÁÄ»£¨ÖØ»£©
time.sleep(0.05)
##ÈóÌÐòÐÝÏ¢¶þÊ®·ÖÖ®Ò»Ã루0.05Ã룩£¬È»ºó¼ÌÐø |
Èý½ÇÐÎÑØ¶Ô½ÇÏßÒÆ¶¯
Èç¹ûÒªÈÃÈý½ÇÐÎÔÚÆÁÄ»ÉÏÑØ¶Ô½ÇÏ߻ص½¿ªÊ¼µÄλÖã¬ÒªÓÃ-5,-5£¨ÔÚ½áβ´¦¼ÓÉÏÕâ¶Î´úÂ룩
import timefrom
tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=400) canvas.pack()canvas.create_polygon (10,10,10,60,50,35)
##´´½¨Èý½ÇÐÎfor x in range(0,60): canvas.move(1,5,5)
##°ÑÈÎÒ⻺õĶÔÏóÒÆ¶¯µ½ °ÑxºÍy×ø±êÔö¼Ó¸ø¶¨ÖµµÄλÖà tk.update() ##Ç¿ÖÆtkinter¸üÐÂÆÁÄ»£¨ÖØ»£©
time.sleep(0.05) ##ÈóÌÐòÐÝÏ¢¶þÊ®·ÖÖ®Ò»Ã루0.05Ã룩£¬ È»ºóÔÙ¼ÌÐøfor
x in range(0,60): canvas.move(1,-5,-5) tk.update()
time.sleep(0.05) |
¶Ô½ÇÏßÔ˶¯²¢»Øµ½³õʼλÖÃ
ÈöÔÏó¶Ô²Ù×÷Óз´Ó¦
ÎÒÃÇ¿ÉÒÔÓá°ÏûÏ¢°ó¶¨¡±À´ÈÃÈý½ÇÐÎÔÚÓÐÈ˰´ÏÂij¼üʱÓз´Ó¦¡£
Òª¿ªÊ¼´¦Àíʼþ£¬ÎÒÃÇÊ×ÏÈÒª´´½¨Ò»¸öº¯Êý¡£µ±ÎÒÃǸæËßtkinter½«Ä³¸öÌØ¶¨º¯Êý°óµ½£¨»ò¹ØÁªµ½£©Ä³¸öÌØ¶¨Ê¼þÉÏʱ¾ÍÍê³ÉÁ˰󶨡£
»»¾ä»°Ëµ£¬tkinter»á×Ô¶¯µ÷ÓÃÕâ¸öº¯ÊýÀ´´¦Àíʼþ¡£
ÀýÈ磬ҪÈÃÈý½ÇÐÎÔÚ°´Ï»سµ¼üÊ±ÒÆ¶¯£¬ÎÒÃÇ¿ÉÒÔ¶¨ÒåÕâ¸öº¯Êý£º
def movetriangle(event):
canvas.move(1,5,0) |
Õâ¸öº¯ÊýÖ»½ÓÊÜÒ»¸ö²ÎÊý£¨event£©£¬tkinterÓÃËüÀ´¸øº¯Êý´«µÝ¹ØÓÚʼþµÄÐÅÏ¢¡£ÏÖÔÚÎÒÃÇÓû²¼canvasÉϵÄbind_allº¯ÊýÀ´¸æËßtkinterµ±Ìض¨Ê¼þ·¢ÉúʱӦ¸Ãµ÷ÓÃÕâ¸öº¯Êý¡£´úÂëÈçÏ£º
from tkinter
import*tk = Tk()canvas = Canvas (tk,width=400,height=400) canvas.pack()canvas.create_polygon (10,10,10,60,50,35)def
movetriangle (event): canvas.move(1,5,0)canvas.bind_all ('<KeyPress-Return>',movetringle)
##ÈÃtkinter¼àÊÓKeyPressʼþ£¬ µ±¸Ãʼþ·¢Éúʱµ÷ÓÃmovetriangleº¯Êý |
ÄÇôÎÒÃÇÈçºÎ¸ù¾Ý°´¼üµÄ²»Í¬¶ø¸Ä±äÈý½ÇÐεķ½ÏòÄØ£¿±ÈÈçÓ÷½Ïò¼ü¡£
ÎÒÃÇ¿ÉÒÔ³¢ÊÔ¸ÄÏÂmovetriangleº¯Êý£º
def movetriangle(event):
if event.keysym == 'up': canvas.move(1,0,-3) ##µÚÒ»¸ö²ÎÊýʹ»²¼ÉÏËù»µÄÐÎ×´µÄIDÊý×Ö£¬ µÚ¶þ¸öÊǶÔx£¨Ë®Æ½·½Ïò£©×ø±êÔö¼ÓµÄÖµ£¬ µÚÈý¸öÊǶÔy£¨´¹Ö±·½Ïò£©×ø±êÔö¼ÓµÄÖµ
elif event.keysym == 'down': canvas.move(1,0,3)
elif event.keysym == 'left': canvas.move(1,-3,0)
else canvas.move(1,3,0) |
×îºó´úÂë»ã×ÜÔÚÒ»ÆðΪ£º
from tkinter
import*tk = Tk()canvas = Canvas (tk,width=400,height=400) canvas.pack()canvas.create_polygon (10,10,10,60,50,35)def
movetriangle (event): if event.keysym == 'Up':
canvas.move(1,0,-3) ##µÚÒ»¸ö²ÎÊýʹ»²¼ÉÏËù»µÄÐÎ×´µÄIDÊý×Ö£¬ µÚ¶þ¸öÊǶÔx£¨Ë®Æ½·½Ïò£©×ø±êÔö¼ÓµÄÖµ£¬ µÚÈý¸öÊǶÔy£¨´¹Ö±·½Ïò£©×ø±êÔö¼ÓµÄÖµ
elif event.keysym == 'Down': canvas.move(1,0,3)
elif event.keysym == 'Left': canvas.move(1,-3,0)
else: canvas.move(1,3,0) canvas.bind_all ('<KeyPress-Up>',movetriangle)
##ÈÃtkinter¼àÊÓKeyPressʼþ£¬ µ±¸Ãʼþ·¢Éúʱµ÷ÓÃmovetriangleº¯Êýcanvas.bind_all ('<KeyPress-Down>',movetriangle) canvas.bind_all ('<KeyPress-Left>',movetriangle) canvas.bind_all ('<KeyPress-Right>',movetriangle) |
·½Ïò¼ü¿ØÖÆÈý½ÇÐεÄÒÆ¶¯
¸ü¶àʹÓÃIDµÄ·½·¨
Ö»ÒªÓÃÁË»²¼ÉÏÃæÒÔcreate_¿ªÍ·µÄº¯Êý£¬Ëü×ܻ᷵»ØÒ»¸öID¡£Õâ¸öº¯Êý¿ÉÒÔÔÚÆäËûµÄº¯ÊýÖÐʹÓá£
Èç¹ûÎÒÃÇÐ޸ĴúÂëÀ´°Ñ·µ»ØÖµ×÷Ϊһ¸ö±äÁ¿±£´æ£¬È»ºóʹÓÃÕâ¸ö±äÁ¿£¬ÄÇôÎÞÂÛ·µ»ØÖµÊǶàÉÙ£¬Õâ¶Î´úÂë¶¼Äܹ¤×÷£º
>>>
mytriangle = canvas.create_polygon (10,10,10,60,50,35)>>>
canvas.move(mytriangle,5,0) |
ÎÒÃÇ¿ÉÒÔÓÃitemconfigÀ´¸Ä±äÈý½ÇÐεÄÑÕÉ«£¬ÕâÐèÒª°ÑID×÷ΪµÚÒ»¸ö²ÎÊý£º
>>>
canvas.itemconfig (mytrigle,fill='bue') ##°ÑIDΪ±äÁ¿mytriangleÖÐµÄ ÖµµÄ¶ÔÏóµÄÌî³äÑÕÉ«¸ÄΪÀ¶É« |
Ò²¿ÉÒÔ¸øÈý½ÇÐÎÒ»Ìõ²»Í¬ÑÕÉ«µÄÂÖÀªÏߣ¬Í¬ÑùÊÊÓÃID×÷ΪµÚÒ»¸ö²ÎÊý£º
>>>
canvas.itemconfig (mytrigle,outline='red') |
×ܽá×ö³öÁ˼òµ¥µÄ¶¯»¡£Ñ§»áÁËÈçºÎÓÃʼþ°ó¶¨À´ÈÃͼÐÎÏìÓ¦°´¼ü£¬ÕâÔÚд¼ÆËã»úÓÎϷʱºÜÓÐÓá£ÔÚtkinterÖÐÒÔcreate¿ªÍ·µÄº¯ÊýÊÇÈçºÎ·µ»ØÒ»¸öIDÊý×Ö¡£
|