顺晟科技
2021-06-16 10:47:43
285
不使用数据库,实现一个简单的记生词软件,基本功能包括,添加新的生词及其中文含义,浏览已经记录的单词,随机选择部分单词进行复习。可考虑其它拓展的功能。
这里使用简介的基本操作,以及类与函数的调用方式。
计算机编程语言
随机导入
导入women's extra large size 女式特大号
mydic={}
num=[]
taged=[]
类信息面板(wx .框架):
def __init__(自身,父,id):
wx.Frame.__init__(自身,父,id,'词典,pos=(0,0),size=(450,400))
panel=wx .面板(自,-1)
rev=wx .StaticText(面板,-1,"英文:',pos=(3,3))
rev=wx .StaticText(面板,-1,"中文:',pos=(170,3))
rev=wx .StaticText(panel,-1,' English:',pos=(50,50))
rev=wx .StaticText(panel,-1,' Chinese:',pos=(250,50))
rev=wx .StaticText(面板,-1,"记录单词总数:',pos=(50,29))
SetForegroundColour(黑色)版本
rev . SetBackgroundColoUr(')#文字背景颜色,不输入为透明
self.temp_Eng=wx .TextCtrl(面板,-1 ' ',pos=(40,0),size=(100,-1))
self.temp_ZH=wx .TextCtrl(panel,-1 ' ',pos=(207,0),size=(100,-1))
button=wx .按钮(面板,wx .ID_ANY,pos=(320,0),size=(80,26),label='增加单词)
按钮装订(wx .EVT_BUTTON,self.get_word)
button2=wx .按钮(面板,wx .ID_ANY,pos=(0,200),size=(430,30),label='查看所有单词)
按钮2。装订(wx .EVT_BUTTON,self.scan_word)
button3=wx .按钮(面板,wx .ID_ANY,pos=(0,150),size=(140,30),label='随机学习)
按钮3。装订(wx .EVT_BUTTON,self.review_word)
button4=wx .按钮(面板,wx .ID_ANY,pos=(145,150),size=(140,30),label='标记)
按钮4。装订(wx .EVT_BUTTON,self.tag_button)
button5=wx .按钮(面板,wx .ID_ANY,pos=(290,150),size=(140,30),label='随机查看标记单词)
按钮5。装订(wx .EVT_BUTTON,self.get_taged_word)
self.text=wx .TextCtrl(面板,-1 ' ',pos=(3,70),size=(170,50))
self.text2=wx .TextCtrl(面板,-1 ' ',pos=(200,70),size=(170,50))
self.text3=wx .TextCtrl(panel,-1 " ",pos=(0,230),size=(430,110),style=wx .TE_MULTILINE)
self.total_word=wx .TextCtrl(面板,-1 ' ',pos=(140,27),size=(40,25))
self.ran=无
self.load_file(self)
self.get_total_word(self)
def get_total_word(self,event):
全局编号
self.total_word .附录文本(字符串(len(num)))
def write_word2file(self,Eng,ZH):
f=打开('。\dic.txt ',' a ')
写(英:' ZH '\n ')
f.close()
def get_word(self,event):
全局编号
if self.temp_Eng .GetValue()!=无或自我温度_ZH .GetValue()!=None:
自我。write _ word 2文件(self。temp _ Eng .GetValue(),self.temp_ZH .GetValue())
self.temp_Eng .清除()
自我温度_ZH .清除()
self.total_word .清除()
self.load_file(self)
self.total_word .附录文本(字符串(len(num)))
def load_file(self,event):
全球mydic
全局编号
f=打开(' E:\\dic.txt ',' r ')
对于f.readlines()中的行:
如果第行和第[:len(线路)-1]行中的":"不在num:中
mydic[line[: line。index(' : ')]=line[line。索引(' : ')1: len(line)-1]
num.append(第[:len(线路)-1]行)
def scan_word(self,event):
全局编号
self.load_file(事件)
self.text.Clear()
for _ in范围(len(num)):
自我。文本3。appendtext(num[_]' \ n ')
def review_word(self,event):
全局编号
self.text.Clear()
self.text2.Clear()
self.ran=random.randint(0,len(num)-1)
而self.ran==random.randint(0,len(num)-1):
self.ran=random.randint(0,len(num) - 1)
自我。文字。appendtext(num[self。ran][: num[self。跑]).索引(' :')])
自我。文本2。appendtext(num[self。ran[num[self .跑了.索引(' :') 1:)
def tag_button(self,event):
如果赛尔夫跑了!=None:
self.tag_word(self.ran)
def tag_word(self,event):
全局编号
全球标记
如果num[self.ran]不在taged:中
taged.append(num[self.ran])
打印(数量)
def get_taged_word(self,event):
全球标记
self.text.Clear()
self.text2.Clear()
_=random.randint(0,len(taged)-1)
while _==random.randint(0,len(taged)-1):
_=random.randint(0,len(taged) - 1)
自我。文字。append text(taged[_][: taged[_]).索引(' :')])
自我。文本2。appendtext(taged[_][taged[_]).索引(' :') 1:)
类MainApp(wx .App):
def OnInit(self):
self.frame1=信息面板(无,-1)
self.frame1.Center()
自框架1 .显示(真)
自我SetTopWindow(self.frame1)
返回真
if __name__=='__main__':
app=MainApp(0)
app .MainLoop()
一
2
3
四
5
6
七
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
随机导入
导入women's extra large size 女式特大号
mydic={}
num=[]
taged=[]
类信息面板(wx .框架):
def __init__(自身,父,id):
wx.Frame.__init__(自身,父,id,'词典,pos=(0,0),size=(450,400))
panel=wx .面板(自,-1)
rev=wx .StaticText(面板,-1,"英文:',pos=(3,3))
rev=wx .StaticText(面板,-1,"中文:',pos=(170,3))
rev=wx .StaticText(panel,-1,' English:',pos=(50,50))
rev=wx .StaticText(panel,-1,' Chinese:',pos=(250,50))
rev=wx .StaticText(面板,-1,"记录单词总数:',pos=(50,29))
SetForegroundColour(黑色)版本
rev . SetBackgroundColoUr(')#文字背景颜色,不输入为透明
self.temp_Eng=wx .TextCtrl(面板,-1 ' ',pos=(40,0),size=(100,-1))
self.temp_ZH=wx .TextCtrl(panel,-1 ' ',pos=(207,0),size=(100,-1))
button=wx .按钮(面板,wx .ID_ANY,pos=(320,0),size=(80,26),label='增加单词)
按钮装订(wx .EVT_BUTTON,self.get_word)
button2=wx .按钮(面板,wx .ID_ANY,pos=(0,200),size=(430,30),label='查看所有单词)
按钮2。装订(wx .EVT_BUTTON,self.scan_word)
button3=wx .按钮(面板,wx .ID_ANY,pos=(0,150),size=(140,30),label='随机学习)
按钮3。装订(wx .EVT_BUTTON,self.review_word)
button4=wx .按钮(面板,wx .ID_ANY,pos=(145,150),size=(140,30),label='标记)
按钮4。装订(wx .EVT_BUTTON,self.tag_button)
button5=wx .按钮(面板,wx .ID_ANY,pos=(290,150),size=(140,30),label='随机查看标记单词)
按钮5。装订(wx .EVT_BUTTON,self.get_taged_word)
self.text=wx .TextCtrl(面板,-1 ' ',pos=(3,70),size=(170,50))
self.text2=wx .TextCtrl(面板,-1 ' ',pos=(200,70),size=(170,50))
self.text3=wx .TextCtrl(panel,-1 " ",pos=(0,230),size=(430,110),style=wx .TE_MULTILINE)
self.total_word=wx .TextCtrl(面板,-1 ' ',pos=(140,27),size=(40,25))
self.ran=无
self.load_file(self)
self.get_total_word(self)
def get_total_word(self,event):
全局编号
self.total_word .附录文本(字符串(len(num)))
def write_word2file(self,Eng,ZH):
f=打开('。\dic.txt ',' a ')
写(英:' ZH '\n ')
f.close()
def get_word(self,event):
全局编号
if self.temp_Eng .GetValue()!=无或自我温度_ZH .GetValue()!=None:
自我。write _ word 2文件(self。temp _ Eng .GetValue(),self.temp_ZH .GetValue())
self.temp_Eng .清除()
自我温度_ZH .清除()
self.total_word .清除()
self.load_file(self)
self.total_word .附录文本(字符串(len(num)))
def load_file(self,event):
全球mydic
全局编号
f=打开(' E:\\dic.txt ',' r ')
对于f.readlines()中的行:
如果第行和第[:len(线路)-1]行中的":"不在num:中
mydic[line[: line。index(' : ')]=line[line。索引(' : ')1: len(line)-1]
num.append(第[:len(线路)-1]行)
def scan_word(self,event):
全局编号
self.load_file(事件)
self.text.Clear()
for _ in范围(len(num)):
自我。文本3。appendtext(num[_]' \ n ')
def review_word(self,event):
全局编号
self.text.Clear()
self.text2.Clear()
self.ran=random.randint(0,len(num)-1)
而self.ran==random.randint(0,len(num)-1):
self.ran=random.randint(0,len(num) - 1)
自我。文字。appendtext(num[self。ran][: num[self。跑]).索引(' :')])
自我。文本2。appendtext(num[self。ran[num[self .跑了.索引(' :') 1:)
def tag_button(self,event):
如果赛尔夫跑了!=None:
self.tag_word(self.ran)
def tag_word(self,event):
全局编号
全球标记
如果num[self.ran]不在taged:中
taged.append(num[self.ran])
打印(数量)
def get_taged_word(self,event):
全球标记
self.text.Clear()
self.text2.Clear()
_=random.randint(0,len(taged)-1)
while _==random.randint(0,len(taged)-1):
_=random.randint(0,len(taged) - 1)
自我。文字。append text(taged[_][: taged[_]).索引(' :')])
自我。文本2。appendtext(taged[_][taged[_]).索引(' :') 1:)
类MainApp(wx .App):
def OnInit(self):
self.frame1=信息面板(无,-1)
self.frame1.Center()
自框架1 .显示(真)
自我SetTopWindow(self.frame1)
返回真
if __name__=='__main__':
app=MainApp(0)
app .MainLoop()
11
2022-12
09
2022-04
17
2022-03
18
2021-11
28
2021-08
19
2021-06