惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 许明会

异步编程,采用WorkgroupWorker,async和await关键字 OCR图像识别技术-Asprise OCR 关于委托,事件和类的设计准则 JavaScript能干什么? C#泛型代理、泛型接口、泛型类型、泛型方法 Delegate, Method as Parameter. DES对称性加密 利用委托实现异步调用 通过Windows组策略限制证书组织流氓软件的安装运行 枚举\位域\结构综合实验 - 许明会 - 博客园 public static void Invoke (Action action) C#编写WIN32系统托盘程序 C#的互操作性:缓冲区、结构、指针 SQLServer异步调用,批量复制 Python体验(10)-图形界面之计算器 Python体验(09)-图形界面之Pannel和Sizer Python体验(08)-图形界面之工具栏和状态栏 C#利用WIN32实现按键注册 Javascript猜数字游戏
Python体验(07)-图形界面之菜单
许明会 · 2016-03-20 · via 博客园 - 许明会

顺序安装以下程序:

  1. python解释器:https://www.python.org/downloads/ 
  2. wxPython图形界面框架包:http://www.wxpython.org/
  3. pycharm编辑器:http://www.jetbrains.com/
# coding=utf-8
import wx  # 导入必须的Python包


class App(wx.App):  # 子类化wxPython应用程序类
    def OnInit(self):  # 定义一个应用程序的初始化方法
        frame = wx.Frame(parent=None, title='GUI APP')
        frame.Show()
        return True


app = App()  # 创建一个应用程序类的实例
app.MainLoop()  # 进入这个应用程序的主事件循环
# coding=utf-8
import wx  # 导入必须的Python包

class myMenu(wx.Frame):
    def __init__(self,parent,id,title):
        wx.Frame.__init__(self,parent,-1,title,wx.DefaultPosition,wx.Size(100,150))
        mnuFile=wx.Menu()
        mnuFile.AppendSeparator()
        mnuFile.Append(101,'&About','About Phoenix')
        quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
        mnuFile.AppendItem(quit)
        menubar = wx.MenuBar()
        menubar.Append(mnuFile,'&File')
        self.SetMenuBar(menubar)

class App(wx.App):  # 子类化wxPython应用程序类
    def OnInit(self):  # 定义一个应用程序的初始化方法
        frame =myMenu(None,-1,"GUI With Menu")
        frame.Show(True)
        return True


app = App()  # 创建一个应用程序类的实例
app.MainLoop()  # 进入这个应用程序的主事件循环
# coding=utf-8
import wx  # 导入必须的Python包

class App(wx.App):  # 子类化wxPython应用程序类
    def OnInit(self):  # 定义一个应用程序的初始化方法
        #mnuFile
        mnuFile=wx.Menu()
        mnuFile.Append(100,'&Open\tCtrl+O','Open File')
        mnuFile.AppendSeparator()
        quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
        mnuFile.AppendItem(quit)
        #mnuHelp
        mnuHelp=wx.Menu()
        mnuHelp.Append(101,'&About','About Phoenix')
        #menuBar
        menuBar = wx.MenuBar()
        menuBar.Append(mnuFile,'&File')
        menuBar.Append(mnuHelp,"&Help")
        #frame
        frame = wx.Frame(parent=None,title="GUI with Menu")
        frame.SetMenuBar(menuBar)
        frame.Show(True)
        return True


app = App()  # 创建一个应用程序类的实例
app.MainLoop()  # 进入这个应用程序的主事件循环
# coding=utf-8
import wx  # 导入必须的Python包

class App(wx.App):  # 子类化wxPython应用程序类
    def OnInit(self):  # 定义一个应用程序的初始化方法
        #mnuFile
        mnuFile=wx.Menu()
        mnuFile.Append(100,'&Open\tCtrl+O','Open File')
        mnuFile.AppendSeparator()
        quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
        mnuFile.AppendItem(quit)
        #mnuHelp
        mnuHelp=wx.Menu()
        mnuHelp.Append(101,'&About','About Phoenix')
        #mnuEdit: subMenuCheck subMenuRadio
        subMenuCheck = wx.Menu() # 创建子菜单
        subMenuCheck.Append(2001,'Check Item1',kind=wx.ITEM_CHECK)
        subMenuCheck.Append(2002,'Check Item2',kind=wx.ITEM_CHECK)
        subMenuRadio = wx.Menu()
        subMenuRadio.Append(2004,'Radio Item1',kind=wx.ITEM_RADIO)
        subMenuRadio.Append(2005,'Radio Item2',kind=wx.ITEM_RADIO)
        mnuEdit=wx.Menu()
        mnuEdit.AppendMenu(201,'Check Menu',subMenuCheck)
        mnuEdit.AppendSeparator()
        mnuEdit.AppendMenu(203,'Radio Menu',subMenuRadio)
        #menuBar
        menuBar = wx.MenuBar()
        menuBar.Append(mnuFile,'&File')
        menuBar.Append(mnuEdit, '&Edit')
        menuBar.Append(mnuHelp,"&Help")
        #frame
        frame = wx.Frame(parent=None,title="GUI with Menu")
        frame.SetMenuBar(menuBar)
        frame.Show(True)
        return True


app = App()  # 创建一个应用程序类的实例
app.MainLoop()  # 进入这个应用程序的主事件循环
# coding=utf-8
import wx  # 导入必须的Python包

class MenuForm(wx.Frame):
    def OnQuit(self,event):
        self.Close()

    def __init__(self,parent,ID,title):
        wx.Frame.__init__(self,parent,ID,title)
        #mnuFile
        mnuFile=wx.Menu()
        mnuFile.Append(100,'&Open\tCtrl+O','Open File')
        mnuFile.AppendSeparator()
        mnuFile.Append(105,'&Quit\tCtrl+Q','Quit Application')
        #EVT_MENU
        wx.EVT_MENU(self,105,self.OnQuit)
        #menuBar
        menuBar = wx.MenuBar()
        menuBar.Append(mnuFile,"&File")
        self.SetMenuBar(menuBar)
        self.Centre()

class App(wx.App):  # 子类化wxPython应用程序类
    def OnInit(self):  # 定义一个应用程序的初始化方法
        frame = MenuForm(parent=None,ID=-1,title="GUI with Menu")
        frame.Show(True)
        return True

app = App()  # 创建一个应用程序类的实例
app.MainLoop()  # 进入这个应用程序的主事件循环