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 2.7.13 安装配置方法图文教程
Sep 18 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
什么是python的必选参数
Jun 21 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
详解Python 中的容器 collections
Aug 17 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
使用numpy nonzero 找出非0元素
May 14 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使用eAccelerator的API开发详解
2013/06/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
Pandas的Apply函数具体使用
2020/07/21 Python
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
一个SQL面试题
2014/08/21 面试题
争先创优活动总结
2014/08/27 职场文书
财产分割协议书范本
2014/11/03 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript