[Python] 基于wxPython 的记事本

python学习网 2017-08-21 06:00:07

1、开始

  接触Python 也有一段时间了,o.o ,断断续续加起来没几天。

  一般新学习一门新语言,除了必先输出一个 Hello World 外,都会以模拟 Windows 记事本来写一个结合自己想法的记事本小程序。

  o.o ,玩了这么久是该写点什么。

2、构建菜单栏

  o.o ,浪了 浪了,仿着 记事本 构建了下菜单 ,还没绑定事件。

  搭建了下 代码的整体框架方向,完成了菜单栏的布局,接下来就是绑定事件了。

  效果图:

  

  

 1 #coding:utf-8
 2 #acthor:Twobox
 3 
 4 import wx
 5 
 6 class Mywin(wx.Frame):
 7     def __init__(self, parent, title):
 8         super(Mywin, self).__init__(parent, title = title)
 9         self.InitUI()
10 
11     def InitUI(self):
12         self.InitUIMenuBar()
13         self.SetSize((400,600))
14         self.Center()
15         self.Show()
16 
17     def InitUIMenuBar(self):
18         menuBar = wx.MenuBar()
19 
20         # 构造 文件 菜单
21         fileMenu = wx.Menu()
22 
23         newItem = wx.MenuItem(fileMenu, id=wx.ID_NEW, text="新建(N)\tCtrl+N", kind=wx.ITEM_NORMAL)
24         openItem = wx.MenuItem(fileMenu, id=wx.ID_OPEN, text="打开(O)...\tCtrl+O", kind=wx.ITEM_NORMAL)
25         saveItem = wx.MenuItem(fileMenu, id=wx.ID_SAVE, text="保存(S)\tCtrl+S", kind=wx.ITEM_NORMAL)
26         saveasItem = wx.MenuItem(fileMenu, id=wx.ID_SAVEAS, text="另存为(A)...", kind=wx.ITEM_NORMAL)
27 
28         fileMenu.AppendItem(newItem)
29         fileMenu.AppendItem(openItem)
30         fileMenu.AppendItem(saveItem)
31         fileMenu.AppendItem(saveasItem)
32         fileMenu.AppendSeparator()
33 
34         exitItem = wx.MenuItem(fileMenu, id=wx.ID_EXIT, text="退出(X)", kind=wx.ITEM_NORMAL)
35         fileMenu.AppendItem(exitItem)
36 
37         menuBar.Append(fileMenu, title="文件(F)")
38 
39         # 构建 编辑 菜单
40         deitMenu = wx.Menu()
41 
42         deitMenu.Append(id=21, item="撤销(U)\tCtrl+Z", kind=wx.ITEM_NORMAL)
43         deitMenu.AppendSeparator()
44         deitMenu.Append(id=wx.ID_CUT, item="剪切(T)\tCtrl+X", kind=wx.ITEM_NORMAL)
45         deitMenu.Append(id=wx.ID_COPY, item="复制(C)\tCtrl+C", kind=wx.ITEM_NORMAL)
46         deitMenu.Append(id=wx.ID_PASTE, item="粘贴(P)\tCtrl+V", kind=wx.ITEM_NORMAL)
47         deitMenu.Append(id=wx.ID_DELETE, item="删除(L)\tDel", kind=wx.ITEM_NORMAL)
48         deitMenu.AppendSeparator()
49         deitMenu.Append(id=wx.ID_FIND, item="查找(F)...\tCtrl+F", kind=wx.ITEM_NORMAL)
50         deitMenu.Append(id=27, item="查找下一个(N)\tF3")
51         deitMenu.Append(id=wx.ID_REPLACE, item="替换(R)...\tCtrl+H")
52         deitMenu.Append(id=29, item="转到(G)\tCtrl+G")
53         deitMenu.AppendSeparator()
54         deitMenu.Append(id=wx.ID_SELECTALL, item="全选(A)\tCtrl+A")
55         deitMenu.Append(id=211, item="时间/日期(D)\tF5")
56 
57         menuBar.Append(deitMenu, title="编辑(E)")
58 
59         #构建 格式 菜单
60         formatMenu = wx.Menu()
61 
62         formatMenu.Append(id = 31, item = "自动换行(W)", kind = wx.ITEM_CHECK)
63         formatMenu.Append(id = 32, item = "字体(F)...")
64 
65         menuBar.Append(formatMenu, title = "格式(O)")
66 
67         #构建 查看 菜单
68         seeMenu = wx.Menu()
69 
70         seeMenu.Append(id = 41, item = "状态栏(S)", kind = wx.ITEM_CHECK)
71 
72         menuBar.Append(seeMenu, title = "查看(V)")
73 
74         #构建 帮助 菜单
75         helpMenu = wx.Menu()
76 
77         helpMenu.Append(id = wx.ID_HELP, item = "查看帮助(H)")
78         helpMenu.Append(id = wx.ID_ABOUT, item = "关于记事本(A)")
79 
80         menuBar.Append(helpMenu, title = "帮助(H)")
81 
82         self.SetMenuBar(menuBar)
83 
84 def main():
85     print("GO...")
86     app = wx.App()
87     Mywin(None, "无标题 - 记事本")
88     app.MainLoop()
89     exit(0)
90 
91 if __name__ == "__main__":
92     main()

3、

  loadind...

2017-08-20 22:22:28 -> 2017-08-20 22:22:37

阅读(794) 评论(0)