《Python编程》笔记(十) - 公司荣誉 - 正定县枫林商贸有限公司
现在的位置: 主页 > 公司荣誉 > 文章正文
《Python编程》笔记(十)
作者:正定县枫林商贸有限公司 来源:www.hbflsm.com 发布时间:2017-09-05 12:03:29
《Python编程》笔记(十) tkinter之旅(三) 在tkinter库中,可以添加顶层窗口菜单和基于框架的菜单。前者适用于整个窗口,后者可以作为内嵌组件。 创建顶层窗口菜单的一般步骤:
创建顶层的Menu作为窗口组件的子组件,并将窗口的menu属性设置为新Menu; 对每个下拉式对象,创建一个新的Menu作为顶层Menu的子组件,并在add_cascade方法中将新的Menu设置为顶层Menu的下拉显示对象; 为上一步骤中创建的每个下拉Menu添加菜单选项,使用add_command方法的command选项来设定回调; 通过创建新Menu作为子菜单,以及使用add_cascade方法连接相应父菜单和子菜单的方法,添加下拉式子菜单。 创建顶层菜单的代码实例: def make_menus(master=None): # 创建顶层Menu root_menu = Menu(master) # 创建下拉菜单 file_menu = Menu(root_menu) # 添加项目 # underline指定快捷键 file_menu.add_command(label='Open', command=on_menu_click, underline=0) file_menu.add_command(label='Save', command=on_menu_click, underline=0) # 添加分割 file_menu.add_separator() file_menu.add_command(label='Exit', command=sys.exit, underline=0) # 连接到主菜单 root_menu.add_cascade(label='File', menu=file_menu, underline=0) # 创建带有子下拉菜单的项目 # `tearoff`用于控制是否消除菜单中出现的虚线。该虚线是一种快捷方式,可以单击它打开菜单窗口! edit_menu = Menu(root_menu, tearoff=False) edit_menu.add_command(label='Cut', command=on_menu_click, underline=0) edit_menu.add_command(label='Paste', command=on_menu_click, underline=0) root_menu.add_cascade(label='Edit', menu=edit_menu, underline=0) sub_menu = Menu(edit_menu, tearoff=False) sub_menu.add_command(label='Foo', command=on_menu_click, underline=0) sub_menu.add_command(label='Bar', command=on_menu_click, underline=0) edit_menu.add_cascade(label='Others', menu=sub_menu, underline=0) # 记得把菜单添加到窗口中! master.config(menu=root_menu) def main(): root = Tk() make_menus(root) root.mainloop()

\

每个顶层窗口都可以有一个菜单栏,包括使用Toplevel组件创建的弹出窗口。 基于Frame的菜单可以用来作为大型界面中的内嵌部件来添加菜单。通常可以创建一个Menubutton并置于Frame中,然后将Menu组件与Menubutton相关联,再将Frame与顶层容器窗口相关联,即可得到一个菜单。 def make_menu(master): menubar = Frame(master) menubar.pack(side=TOP, fill=X) file_button = Menubutton(menubar, text='File', underline=0) file_button.pack(side=LEFT) file_menu = Menu(file_button) file_menu.add_command(label='Open...', command=None, underline=0) file_menu.add_command(label='Save...', command=None, underline=0) file_button.config(menu=file_menu) Optionmenu会提供一个多选项的下拉菜单,类似于ComboBox控件: def main(): r = Tk() opt_mail_sever = StringVar(r) opt_mail_servers = OptionMenu(r, opt_mail_sever, 'Gmail', 'Yahoo', '163', 'Outlook', command=lambda x: showinfo('Choice', x)) opt_mail_servers.pack(fill=X) opt_mail_sever.set('Yahoo') r.mainloop() 创建窗口下方的工具栏的方法:在窗口底部填充框架,设置为只能水平伸展即可。

一个综合的示例:演示如何生产菜单栏和工具栏(这在一般的应用中是非常常见的组合),并且使用这个程序打开图片查看。由于代码较长,所以托管在github中,点击查看

\

Listbox组件:

插入条目:list.insert('end', label)或者list.insert(END, label) 不存在command选项来设置回调,不过可以使用绑定事件的方法来达到目的 获取选中的条目索引:list.curselection(),实际返回的是个元组,记录被选中的条目index 获取条目的标签:list.get(index),此外,可以使用list.get(ACTIVE)或者list.get('active')获取选中的条目标签 selectmode参数可以用于指定单选或多选模式,默认只允许单选。支持四种设置:SINGLE, BROWSE(Default mode), MULTIPLE, EXTENDED

Scrollbar组件通常用于和Listbox搭配,方便地进行列表的滚动。设置方法:

# 会自动按照比例调整滚动条和列表框 # 在初始化的时候,可以给滚动条添加 # orient='horizontal'即可得到水平滚动条 scrollbar.config(command=listbox.yview) listbox.config(yscrollcommand=scrollbar.set) tkinter中每一个可以滚动的对象(Listbox, Entry, Text, Canvas)都可以通过内置的yview和xview方法来处理垂直或水平滚动调整,yscrollcommand和xscrollcommand选项用于激活相关滚动条的回调处理器。所有的滚动条都有command选项。需要注意的是,要尽量先pack滚动条,这样在窗口缩小后,保证滚动条最后消失,用户体验更佳。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:仙桃SEO http://xiantao.raoyu.net


  • 上一篇:PHP api方法总结
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 正定县枫林商贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100