设为首页 加入收藏

TOP

tkinter学习-菜单与画布(一)
2017-09-30 17:04:12 】 浏览:1559
Tags:tkinter 学习 菜单 画布

阅读目录

  • Menu  菜单控件

  • Menubutton  菜单按钮控件

  • OptionMenu  选项菜单 
  • Canvas  画布控件

Menu:

  说明:菜单控件,显示菜单栏,下拉菜单和弹出菜单

  属性:创建一个顶级菜单,需要先创建一个菜单实例,然后使用add()方法将命令和其他子菜单添加进去

            创建一个下拉菜单(或者其他的子菜单),方法是一样的,最主要的区别是它们最后需要添加到主菜单上(而不是窗口上)

  方法:add_cascade(label=' ',...)  

     add_command(label=' ',...)

 

from tkinter import * root = Tk() root.title('山丘') root.geometry('200x200') l = Label(root,text='',bg='yellow') l.pack() num=0 def show(): global num l.config(text=num) num+=1 menubar = Menu(root)    #创建一个顶级的窗口 #创建一个下拉菜单'File',然后让它添加到顶级窗口上
filemenu = Menu(menubar,tearoff=1)          #tearoff是在'File'菜单上加了一个小横杠,为0就是不加,和平时看到的一样
menubar.add_cascade(label='File',menu=filemenu) filemenu.add_command(label='New',command=show) filemenu.add_command(label='Open',command=show) filemenu.add_command(label='Save',command=show) filemenu.add_separator() #这个是分割线
filemenu.add_command(label='Rxit',command=root.quit) editmenu = Menu(menubar,tearoff=0)#创建一个下拉菜单'Edit',然后让它添加到顶级窗口上
menubar.add_cascade(label='Edit',menu=editmenu) editmenu.add_command(label='Cut',command=show) editmenu.add_command(label='Copy',command=show) editmenu.add_command(label='Paste',command=show) root.config(menu=menubar)#显示菜单,
mainloop()

点击小横杠后的结果:

            

  这个菜单不仅可以添加常见的命令菜单,和可以添加单选或多选按钮

from tkinter import * root = Tk() def show(): print('被调用了') #创建一个顶级的菜单
menubar = Menu(root) #创建checkbutton关联变量
openVar = IntVar() saveVar = IntVar() exitVar = IntVar() #创建一个下拉菜单‘文件’,然后将它添加到顶级的菜单上
filemenu = Menu(menubar,tearoff = True) menubar.add_cascade(label='文件',menu=filemenu) filemenu.add_checkbutton(label='打开',command=show,variable=openVar) filemenu.add_checkbutton(label='保存',command=show,variable=saveVar) filemenu.add_checkbutton(label='退出',command=root.quit,variable=exitVar) #创建radiobutton关联变量
editVar = IntVar() editVar.set(1) #创建一个下拉菜单‘编辑’,然后将它添加到顶级的菜单上
editmenu = Menu(menubar,tearoff = False) menubar.add_cascade(label='编辑',menu=editmenu) editmenu.add_radiobutton(label='剪切',command=show,variable=editVar,value=1) editmenu.add_radiobutton(label='拷贝',command=show,variable=editVar,value=2) editmenu.add_radiobutton(label='粘贴',command=show,variable=editVar,value=3) root.config(menu=menubar)#显示菜单
mainloop()

结果:

      

Menubutton:

  说明:菜单按钮控件,由于显示菜单项,它可以放在窗口的任意位置,并弹出下拉菜单

from tkinter import * root = Tk() def callback(): print('被调用了') mb = Menubutton(root,text='点我',relief = RAISED)#这个是样式
mb.pack() filemenu = Menu(mb) filemenu.add_command(label= '打开',command=callback) filemenu.add_command(label='保存',command=callback) filemenu.add_separator() filemenu.add_command(label='退出',command=callback) mb.config(menu=filemenu) mainloop()

 

结果:

     

OptionMenu:

  说明:这是下拉菜单的改版,主要用于记录用户选择了什么

from tkinter import * root = Tk() variable = StringVar() variable.set('one') w = OptionMenu(root,variable,'one','two','there') w.pack() def show(): print(variable.get()) Button(root,text='点我',command=show).pack() mainloop()

结果:

         

  还有就是将很多选项添加到选项菜单中 

from tkinter import * root = Tk() l = Label(root,text='',bg='yellow') l.pack() OPTIONS = ['A','B','C','D','E'] variable = StringVar() variable.set(OPTIONS[0]) w = OptionMenu(root,variable,*OPTIONS)#这里注意
w.pack() def show(): l.config(text=variable.get()) Button(root,text='
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python3乘法口诀表(由上至下+由.. 下一篇python 数据驱动(ddt)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目