当前位置:   article > 正文

用Python的tkinter库做一个简单的打包作业的工具_tkinter打包成apk

tkinter打包成apk

需求来源:

我们班的c语言作业交的时候很麻烦,得把每一题都独立放到一个文件里面,然后放入同一个文件夹,然后压缩打包。。。还得命名成一定的格式。。。

我嫌烦。

于是有了制作这个小工具的想法。


没啥亮点,直接上代码:

  1. import tkinter as tk
  2. from tkinter import ttk #这个没用到
  3. from tkinter import messagebox
  4. import os
  5. import zipfile
  6. window = tk.Tk()
  7. window.title("Homework Packer 1.0 Beta")
  8. window.geometry("800x600") #窗口设置
  9. window.resizable(0,0) #固定窗口大小
  10. var = tk.StringVar() #输入框内容
  11. num = 1 #已生成的作业数量+1
  12. source = str() #单个c源代码的内容
  13. path = str() #打包相对路径
  14. ##################################################################__Labels
  15. head = tk.Label(window,text="请将第{num}题源代码复制到框中:".format(num = num),
  16. font = ('Arial',15),width = 20,height =1)
  17. #这里的长宽以字符为单位
  18. head.place(x=20,y=100,anchor='nw')
  19. name = tk.Label(window,text="请输入姓名:",
  20. font = ('Arial',15),)
  21. name.place(x=2,y=5,anchor='nw')
  22. xuehao = tk.Label(window,text="请输入学号:",
  23. font = ('Arial',15),)
  24. xuehao.place(x=2,y=35,anchor='nw')
  25. ok_txt = tk.Label(window,text="点击确定即可\n以框中内容\n生成一个c文件:",font=('Arial',15))
  26. ok_txt.place(x=600,y=20,anchor = 'nw')
  27. ###################################################################__Entrys
  28. name_en = tk.Entry(window)
  29. name_en.place(x=122,y=8,anchor = 'nw')
  30. xuehao_en = tk.Entry(window)
  31. xuehao_en.place(x=122,y=38,anchor ='nw')
  32. ###################################################################__Buttons
  33. def make_zip(floder,backupfilename): #floder:要打包的文件夹;backupfilename:指定文件名
  34. backupfilename = backupfilename + '.zip'
  35. f = zipfile.ZipFile(backupfilename,'w') #c创建一个zip对象
  36. for floderName, subFolders, fileNames in os.walk(floder):
  37. f.write(floderName)
  38. for subFolder in subFolders:
  39. f.write(os.path.join(floderName,subFolder))
  40. for fileName in fileNames:
  41. f.write(os.path.join(floderName,fileName))
  42. f.close()
  43. def ok_hit(): ##确认 键的功能
  44. global path
  45. path = "./{xuehao}_{name}".format(xuehao = xuehao_en.get(),
  46. name = name_en.get())
  47. folder = os.path.exists(path)
  48. if not folder:
  49. os.makedirs(path)
  50. source = content.get("0.0","end")
  51. global num
  52. with open(path+'/'+"第_{num}_题.c".format(num= num),'w') as f:
  53. f.write(source)
  54. num+=1
  55. head.config(text="请将第{num}题源代码复制到框中:".format(num = num))
  56. content.delete("0.0",'end')
  57. pass
  58. def zip_them_hit(): ##打包键功能
  59. make_zip(path,"{xuehao}_{name}".format
  60. (xuehao = xuehao_en.get(),name = name_en.get()))
  61. messagebox.showinfo(message ="你的 {num} 个c语言源代码\n已经打包入zip压缩包中\n\
  62. 在当前目录即可找到".format(
  63. num = num-1),title = "Packing has been complished!")
  64. os.system("explorer "+os.getcwd())
  65. window.destroy() ##结束程序
  66. pass
  67. def about_file(): ##文件介绍
  68. win = tk.Tk()
  69. win.title("关于本软件")
  70. win.geometry("400x500") #窗口设置
  71. win.resizable(0,0) #固定窗口大小
  72. tk.Label(win,text ="========================================\n\
  73. 使用方法很简单:\n\
  74. 1.输入姓名和学号\n\
  75. 2.每完成一题编程作业就将源码复制到框里。\n\
  76. 3.点击<确定>。\n\
  77. 4.重复2,3步直到作业做完\n\
  78. 5.点击<打包成zip> 即可在程序所在的目录\n\
  79. 下找到压缩包。\n\
  80. \n\
  81. (包名字都是按本班 C语言作业命\n\
  82. 名要求设置的,所以这个软件基本上就给自\n\
  83. 己人使用。)\n\
  84. ========================================\n\
  85. ========================================",anchor = 'ne').pack()
  86. pass
  87. # # # # # # # # # # # ## 创建Buttons
  88. ok = tk.Button(window,text="确 定",command = ok_hit,width = 10,height = 2,font = 40)
  89. ok.place(x=650,y=120,anchor = 'nw')
  90. zip_them = tk.Button(window,text = "打包成zip",command = zip_them_hit,width = 10,
  91. height = 2,font = 40)
  92. zip_them.place(x=650,y = 250,anchor = 'nw')
  93. #about HMPacker1.0Beta
  94. about = tk.Button(window,text = "关于本软件",command = about_file,font = 5)
  95. about.place(x=600,y= 550,anchor = 'nw')
  96. ####################################################################__Texts
  97. content = tk.Text(window,width = 80 ,height = 30)
  98. content.place(x=20,y=130,anchor = 'nw')
  99. about_file()#运行的时候打开以下about_file 因为里面有操作方法
  100. window.mainloop()

主要就是一个tkinter的简单应用叭。主要的逻辑还是很简单的。获取文本输入,获取文件内容,打包压缩。。。结束。


使用过程:

输入姓名学号,将第一题内容输入框中:

2.然后点击确定,完成第一题。继续如此,按序号填入2,3,···等题的内容。

3.完成所有题后,点击打包成zip,便结束了。

4。在同目录下即可找到打包好的作业:


ps:代码质量一般叭,毕竟是年轻的时候写的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/854322
推荐阅读
相关标签
  

闽ICP备14008679号