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

yipeiwu_com5年前Python基础

本文实例讲述了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),\
                 'www.jb51.net - 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)

二、运行效果:

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

pip install pypiwin32

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

Windows下安装Django框架的方法简明教程

Windows下安装Django框架的方法简明教程

本文实例讲述了Windows下安装Django框架的方法。分享给大家供大家参考,具体如下: 在idea上运行Python项目时,出现了如下错误,这是因为系统中只安装了Python,没有安...

Windows上配置Emacs来开发Python及用Python扩展Emacs

Windows下配置Emacs来开发Python 去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Em...

Pycharm简单使用教程(入门小结)

Pycharm简单使用教程(入门小结)

1、下载pycharm pycharm是一种Python IDE,能够帮助我们在编写代码时提高效率。 网上提供的有专业版和教育版之分。 专业版是收费的,功能更全面点。 教育版...

pyqt5实现按钮添加背景图片以及背景图片的切换方法

pyqt5实现按钮添加背景图片以及背景图片的切换方法

简介 对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种 self.button.setStyleSheet("QPus...

python已协程方式处理任务实现过程

这篇文章主要介绍了python已协程方式处理任务实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #从genent中导入mo...