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 相关文章推荐
Python常见异常分类与处理方法
Jun 04 Python
Python基础练习之用户登录实现代码分享
Nov 08 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
python 以16进制打印输出的方法
Jul 09 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
python3 webp转gif格式的实现示例
Dec 10 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
Python实现打包成库供别的模块调用
Jul 13 Python
详解Python 最短匹配模式
Jul 29 Python
python小技巧——将变量保存在本地及读取
Nov 13 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页面缓存ob系列函数介绍
2012/10/18 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
php制作动态随机验证码
2015/02/12 PHP
php实现分页显示
2015/11/03 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
jquery each()源代码
2011/02/14 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
python3实现短网址和数字相互转换的方法
2015/04/28 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
python mysql中in参数化说明
2020/06/05 Python
python如何查看网页代码
2020/06/07 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
调解协议书
2014/04/16 职场文书
协议书怎么写
2014/04/21 职场文书
暑期教师培训方案
2014/06/07 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
社区清明节活动总结
2014/07/04 职场文书
授权委托书范文
2014/07/31 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
学者《孟子》名人名言
2019/08/09 职场文书