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列表推导式的使用方法
Nov 21 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
详解Python with/as使用说明
Dec 13 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
Python列表嵌套常见坑点及解决方案
Sep 30 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
CodeIgniter框架URL路由总结
2014/09/03 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
JS backgroundImage控制
2009/05/19 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
简单了解Django模板的使用
2017/12/20 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
pycharm运行scrapy过程图解
2019/11/22 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
为什么相对PHP黑python的更少
2020/06/21 Python
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
企业安全生产责任书范本
2014/07/28 职场文书
责任书格式
2015/01/29 职场文书
经理岗位职责
2015/02/02 职场文书
数学教师求职信范文
2015/03/20 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
redis实现排行榜功能
2021/05/24 Redis
对Keras自带Loss Function的深入研究
2021/05/25 Python
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL