欢迎光临散文网 会员登陆 & 注册

python 模块调用练习(II)

2020-03-26 19:43 作者:一心想当网红的李老师  | 我要投稿

继续在练习1的基础上加强。

看起来程序还是有问题。因为是照着书本操作,所以感觉有点问题。程序没有报错,但是感觉好像有些内容没有显示。

from tkinter import *

import model


cell_size=5



def setup():

    global root,grid_view,cell_size,start_btn,clear_btn,choice

    

    root=Tk()

    root.title('game screen')

    grid_view=Canvas(root,width=model.width*cell_size,

                     height=model.height*cell_size,

                     borderwidth=0,

                     bg='white')

    start_btn=Button(root,text="start",width=12)

    clear_btn=Button(root,text="clear",width=12)

    choice=StringVar(root)

    choice.set('choose a pattern')

    option=OptionMenu(root,choice,"'choose a pattern","grider","grider gun","random")

    option.config(width=25)

    

    

    grid_view.grid(row=0,columnspan=3,padx=20,pady=20)

    start_btn.grid(row=1,column=0,sticky=W,padx=20,pady=20)

    option.grid(row=1,column=1,padx=20)

    clear_btn.grid(row=1,column=2,sticky=E,padx=20,pady=20)

 ####此处学习了tkinter界面布局的方法,还是很有用的。sticky是字体对其方式,W=west, E=east,很神奇的方式,不过有书有介绍,可以看懂。画布可以分行列,然后进行排布。这个和wxpython设置大小和位置的方式有所不同。####

    

def update():

    global grid_view

    grid_view.delete(ALL)

    

    model.next_gen()

    for i in range(0,model.height):

        for j in range (0,model.width):

            if model.grid_model[i][j]==1:

                draw_cell(i,j,'black')

 ####调用其他程序的方式           

def draw_cell(row, col, color):

    global grid_view,cell_size

    

    if color=='black':

        outline='grid'

    else:

        outline='white'

        

    grid_view.create_rectangle(row*cell_size,

                               col*cell_size,

                               row*cell_size+cell_size,

                               col*cell_size+cell_size,

                               fill=color,outline=outline)

    


if __name__=='__main__':

    setup()

    update()

    mainloop()

###主程序运行顺序

python 模块调用练习(II)的评论 (共 条)

分享到微博请遵守国家法律