专栏首页算法channelPython-GUI|生成菜单,封装自己的控件

Python-GUI|生成菜单,封装自己的控件

01

创建菜单

Tk中菜单控件封装在Menu类中。

menubar = Menu(parent)

上面代码指定menbar为Menu,且父控件为parent

xmenu = Menu(menubar)

menu系列按照树结构组织,结构如下:

menubar

|

xmenu

接下来为xmenu增加两个命令项:

xmenu.add_command(label='打开',command=fun) xmenu.add_command(label='关闭',command=fun)

接着,将menubar增加下拉菜单,并指向子菜单 xmenu:

menubar.add_cascade(label='文件',menu=xmenu)

实现的效果如下所示:

02

封装自己的控件

Label和Entry组合为一个新的控件

如下,内部创建Label,Entry,通过grid布局控件。

class LabEnt(object): def __init__(self,parent,cnf={}): """ label and entry combination :param cnf: 1. parent 2. label config: labtxt 3. row 5. column """ if parent is None: raise Exception('must give parent widget') labtxt='label' if 'labtxt' in cnf.keys(): labtxt = cnf['labtxt'] irow=0 if 'row' in cnf.keys(): irow=cnf['row'] icolumn=0 if 'column' in cnf.keys(): icolumn=cnf['column'] lab = Label(parent, text=labtxt) self.ent = Entry(parent) lab.grid(row=int(irow),column=int(icolumn),padx=10,pady=10) self.ent.grid(row=int(irow),column=int(icolumn)+1,padx=10,pady=10) def get(self): return self.ent.get()

使用LabEnt控件,

le_sku = LabEnt(frame, cnf={'labtxt':'sku编号','row':'0','column':'0'}) le_ord = LabEnt(frame, cnf={'labtxt': '订单编号', 'row': '0', 'column': '2'})

效果如下:

本文分享自微信公众号 - 算法channel(alg-channel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【干货】随机森林的Python实现

    【新智元导读】在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林几乎是任何预测类问题(甚至非线性问题)...

    新智元
  • Oracle SCN HeadRoom分析与处理

    最近几家客户的Oracle数据库开始集中爆发SCN HeadRoom问题,虽然SCN不会真正用完,但是数据库触碰到headroom天花板,还是可能有意想不到的情...

    沃趣科技
  • 放弃Python转向Go语言:这9大理由就够了 !(附代码)

    来源:机器之心 作者:Thierry Schellenbach 本文为你介绍八个短时间可以完成的趣味机器学习项目。 转用一门新语言通常是一项大决策,尤其是当你的...

    数据派THU
  • 【python爬虫】知乎互联网话题问答内容可视化分析

    摘要:本文主要针对知乎网站互联网话题下的QA问答对内容进行分析,观察当前互联网话题下用户都比较关注什么。文章从数据爬取、问题分析、高赞答案分析、关键词可视化等方...

    CodeInHand
  • 【Python】30行代码教你将微信变成智能回复机器人

    摘要:使用微信itchat接口和图灵机器人接口,三十行代码将你的微信变成聊天机器人,自动回复来自好友的消息。 01 — itchat安装与使用说明 itcha...

    CodeInHand
  • 【干货】神经增强:用 Python 实现深度学习超分辨率处理

    【新智元导读】神经网络基于样本图像的训练为模糊图像补充细节,从而把模糊图像变高清。它不能把你的照片重建成一模一样的高清版。这只有好莱坞大片才有可能做到——但使用...

    新智元
  • python实现Tab自动补全功能

    {大神请忽略} ? 默认情况下python命令行下是不支持命令补全功能的,用的时候总是得百度,所以索性在博客简单记录一下,方便下次使用. 一、创建tab....

    行 者
  • 机器学习经典 Python Machine Learning 作者:新书计划曝光,分享实战经验

    【新智元导读】机器学习入门经典读物 Python Machine Learning 的作者 Sebastian Raschka昨天在Quaro回答提问,分享技术...

    新智元
  • 教你在Python中用Scikit生成测试数据集(附代码、学习资料)

    原文标题:How to Generate Test Datasets in Python with Scikit-learn 作者:Jason Brownlee...

    数据派THU
  • 【重磅】微软开源深度学习认知工具包:增加 Python 绑定,支持增强学习

    【新智元导读】微软今天开源微软认知工具包(Microsoft Cognitive Toolkit)的升级版本,CNTK 升级版。本次升级最大的亮点在于增加了 P...

    新智元

扫码关注云+社区

领取腾讯云代金券