1+ import webbrowser
12import ctypes
23import tkinter as tk
34from tkinter .messagebox import showinfo
5+ from tkinter .simpledialog import askinteger
46import random
57
8+ def Show_Help ():
9+ if Lang_Help == True :
10+ webbrowser .open ("https://github.com/ren-yc/RandomRollCall/blob/master/README.zh-Hans.md" )
11+ else :
12+ webbrowser .open ("https://github.com/ren-yc/RandomRollCall/blob/master/README.md" )
13+
614def Show_About ():
715 showinfo (title = Lang_Menu_About , message = Lang_Messagebox_Message )
816
917def label_click_handler (events ):
10- selected = random .randint (1 , 49 )
18+ selected = random .randint (minnum , maxnum )
1119 label_obj1 ['text' ] = selected
1220
1321# Language
1422syslang = hex (ctypes .windll .kernel32 .GetSystemDefaultUILanguage ())
1523Lang_Title = ""
24+ Lang_Menu_Settings = ""
25+ Lang_Menu_Help = ""
1626Lang_Menu_About = ""
1727Lang_Menu_Quit = ""
28+ Lang_Menu_MIN = ""
29+ Lang_Menu_MAX = ""
1830Lang_Messagebox_Message = ""
31+ Lang_Help = False
1932if syslang == '0x804' :
2033 Lang_Title = u"随机点名"
34+ Lang_Menu_Settings = u"设置"
35+ Lang_Menu_Help = u"帮助"
2136 Lang_Menu_About = u"关于"
2237 Lang_Menu_Quit = u"退出"
38+ Lang_Menu_MIN = u"设置最小学号"
39+ Lang_Menu_MAX = u"设置最大学号"
2340 Lang_Messagebox_Message = u"本软件使用 MIT 开源软件协议,开发者为 Yuchen Ren。\n Github 存储库地址:https://github.com/ren-yc/RandomRollCall"
41+ Lang_Help = True
2442else :
2543 Lang_Title = u"RandomRollCall"
44+ Lang_Menu_Settings = u"Settings"
45+ Lang_Menu_Help = u"Help"
2646 Lang_Menu_About = u"About"
2747 Lang_Menu_Quit = u"Quit"
48+ Lang_Menu_MIN = u"Edit minimum student number"
49+ Lang_Menu_MAX = u"Edit maximum student number"
2850 Lang_Messagebox_Message = u"This program uses MIT License, Developer: Yuchen Ren.\n Github Repo: https://github.com/ren-yc/RandomRollCall"
51+ Lang_Help = False
2952
3053# Init
3154root = tk .Tk ()
55+ minnum = 1
56+ maxnum = 49
57+
58+ # Min and MAX
59+
60+ def Ask_MIN ():
61+ global minnum
62+ minnum = askinteger (title = Lang_Menu_MIN , prompt = Lang_Menu_MIN )
63+
64+ def Ask_MAX ():
65+ global maxnum
66+ maxnum = askinteger (title = Lang_Menu_MAX , prompt = Lang_Menu_MAX )
3267
3368# Menubar
3469menubar = tk .Menu (root )
3570root ['menu' ] = menubar
71+ settingsmenu = tk .Menu (menubar , tearoff = False )
72+ settingsmenu .add_command (label = Lang_Menu_MIN , command = Ask_MIN )
73+ settingsmenu .add_command (label = Lang_Menu_MAX , command = Ask_MAX )
74+ menubar .add_cascade (label = Lang_Menu_Settings , menu = settingsmenu )
75+ menubar .add_command (label = Lang_Menu_Help , command = Show_Help )
3676menubar .add_command (label = Lang_Menu_About , command = Show_About )
3777menubar .add_command (label = Lang_Menu_Quit , command = root .quit )
3878
@@ -42,7 +82,7 @@ def label_click_handler(events):
4282root .resizable (width = False , height = False )
4383
4484# Random
45- selected = random .randint (1 , 49 )
85+ selected = random .randint (minnum , maxnum )
4686label_obj1 = tk .Label (root , text = selected , width = 380 , height = 380 )
4787label_obj1 .config (font = 'Helvetica -%d bold' % 200 )
4888label_obj1 .bind ("<Button-1>" , label_click_handler )
0 commit comments