Python创建普通菜单示例【基于win32ui模块】


Posted in Python onMay 09, 2018

本文实例讲述了Python创建普通菜单的方法。分享给大家供大家参考,具体如下:

一、代码

# -*- coding:utf-8 -*-
#! python3
import win32ui
import win32api
from win32con import *
from pywin.mfc import window
class MyWnd(window.Wnd):
  def __init__ (self):
    window.Wnd.__init__(self,win32ui.CreateWnd())
    self._obj_.CreateWindowEx(WS_EX_CLIENTEDGE,\
                 win32ui.RegisterWndClass(0,0,COLOR_WINDOW+1),\
                 '3water.com - MFC GUI',WS_OVERLAPPEDWINDOW,\
                 (10,10,800,800),None,0,None)
    submenu = win32ui.CreateMenu()
    menu = win32ui.CreateMenu()
    submenu.AppendMenu(MF_STRING,1051,'&Open')
    submenu.AppendMenu(MF_STRING,1052,'&Close')
    submenu.AppendMenu(MF_STRING,1053,'&Save')
    menu.AppendMenu(MF_STRING|MF_POPUP,submenu.GetHandle(),'&File')
    submenu = win32ui.CreateMenu()
    submenu.AppendMenu(MF_STRING,1054,'&Copy')
    submenu.AppendMenu(MF_STRING,1055,'&Paste')
    submenu.AppendMenu(MF_STRING,1056,None)
    submenu.AppendMenu(MF_STRING,1057,'&Cut')
    menu.AppendMenu(MF_STRING|MF_POPUP,submenu.GetHandle(),'&Edit')
    submenu = win32ui.CreateMenu()
    submenu.AppendMenu(MF_STRING,1058,'Tools')
    submenu.AppendMenu(MF_STRING|MF_GRAYED,1059,'Setting')
    m = win32ui.CreateMenu()
    m.AppendMenu(MF_STRING|MF_POPUP|MF_CHECKED,submenu.GetHandle(),'Option')
    menu.AppendMenu(MF_STRING|MF_POPUP,m.GetHandle(),'&Other')
    self._obj_.SetMenu(menu)
  def OnClose(self):
    self.EndModalLoop(0)
w = MyWnd()
w.ShowWindow()
w.UpdateWindow()
w.RunModalLoop(1)

二、运行效果:

Python创建普通菜单示例【基于win32ui模块】

注:win32ui模块的安装可直接使用pip命令,如下:

pip install pypiwin32

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
go语言计算两个时间的时间差方法
Mar 13 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
python使用webdriver爬取微信公众号
Aug 31 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 Python
python实现斗地主分牌洗牌
Jun 22 Python
python 实现学生信息管理系统的示例
Nov 28 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 #Python
Python基于win32ui模块创建弹出式菜单示例
May 09 #Python
numpy中的delete删除数组整行和整列的实例
May 09 #Python
java中两个byte数组实现合并的示例
May 09 #Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 #Python
如何实现删除numpy.array中的行或列
May 08 #Python
numpy实现合并多维矩阵、list的扩展方法
May 08 #Python
You might like
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
python自定义时钟类、定时任务类
2021/02/22 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
城建学院毕业生自荐信
2014/01/31 职场文书
个性车贴标语
2014/06/24 职场文书
幼儿学前班评语
2014/12/29 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis