• 习近平要求把这项工作作为重大政治任务 2019-03-24
  • 充分发挥重要平台和有效载体作用 以特色小镇建设促进乡村振兴 2019-03-18
  • 脸每天都洗,但你真的洗对了吗? 2019-03-18
  • 港珠澳大桥珠海口岸停车场智慧停车系统启用在即 2019-03-14
  • 以实际行动诠释忠诚 以实干实政维护核心 2019-03-14
  • 天津市津南区严打校园周边“五毛食品” 2019-03-11
  • 设计众议院:新时代消费观念造就的全新第八代凯美瑞 2019-03-11
  • 补时绝杀!英格兰2-1突尼斯 凯恩梅开二度 2019-03-09
  • 我和党报党网有个约会在线征集活动 2019-03-09
  • 吃饭刷脸 还有多远? 2019-03-07
  • 中共中央文件选集一(1921―1925) 2019-03-05
  • 《中国气候变化蓝皮书》:年平均气温显著上升 2019-03-05
  • 这样的银行就应该倒闭 2019-03-01
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-03-01
  • 中国欲举办2030年世界杯?网友调侃:真可笑 2019-02-26
  • 批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
    [批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
    返回列表 发帖

    粤11选五开奖直播视频:[原创代码] Python写了个小工具,个人所得税计算器

    python区冷清,写了个自娱自乐的工具,2018年新个税起征点的个人所得税计算器(工资)。
    GUI的程序之前也没怎么写过,用的是python自带的tkinter库,好处是使用简单,python自带不用再装第三方的库。
    缺点是功能相对有限(对比pyqt5这类库),中文资料较少,查个文档都不是很方便,好在我这个功能巨简单,tk足够用了,边查就边写出来了。
    使用就是输入 税前工资和扣掉的五险一金总额就可以了。
    大家轻拍。
     广东十一选五计划软件 www.qe-ar.com 
    1. import tkinter as tk
    2. import tkinter.ttk as ttk
    3. class TaxCalc(object):
    4.     taxPoint = 5000
    5.     def __init__(self):
    6.         self.top = tk.Tk()
    7.         self.top.title("个人所得税计算器")
    8.         sw,sh = self.top.winfo_screenwidth(),self.top.winfo_screenheight()
    9.         ww,wh = 245,280
    10.         self.top.geometry("{}x{}+{}+{}".format(ww,wh,(sw-ww)//2,(sh-wh)//2))
    11.         self.top.resizable(0,0)
    12.         self.createWdiget()
    13.         self.top.wm_attributes('-topmost',1)  #主窗口置顶
    14.         self.top.mainloop()
    15.     def createWdiget(self):
    16.         self.beforeTaxLable = tk.Label(self.top,text="税前工资:")
    17.         self.beforeTaxLable.grid(row=0,column=0)
    18.         self.beforeTaxEntry = tk.Entry(self.top)
    19.         self.beforeTaxEntry.grid(row=0,column=1,pady=10,padx=10)
    20.         self.insuranceLable= tk.Label(self.top,text="扣除的保险:")
    21.         self.insuranceLable.grid(row=1,column=0)
    22.         self.insuranceEntry = tk.Entry(self.top)
    23.         self.insuranceEntry.grid(row=1,column=1,pady=10)
    24.         #绑定事件,离开焦点或按回车就试着调用计算的函数
    25.         self.insuranceEntry.bind("<FocusOut>",self.calcTax)
    26.         self.insuranceEntry.bind("<Return>",self.calcTax)
    27.         self.sep = ttk.Separator(self.top, orient=tk.HORIZONTAL)
    28.         self.sep.grid(row=2,column=0,columnspan=2,sticky="ew")
    29.         self.taxAmoutLable = tk.Label(self.top,text="应纳税额:")
    30.         self.taxAmoutLable.grid(row=3,column=0)
    31.         self.taxAmoutEntry = tk.Entry(self.top)
    32.         self.taxAmoutEntry.grid(row=3,column=1,pady=10)
    33.         self.taxLable = tk.Label(self.top,text="应缴个税:")
    34.         self.taxLable.grid(row=4,column=0)
    35.         self.taxEntry = tk.Entry(self.top)
    36.         self.taxEntry.grid(row=4,column=1,pady=10)
    37.         self.afterTaxLable = tk.Label(self.top,text="税后工资:")
    38.         self.afterTaxLable.grid(row=5,column=0)
    39.         self.afterTaxEntry = tk.Entry(self.top)
    40.         self.afterTaxEntry.grid(row=5,column=1,pady=10)
    41.         self.calcBtn = ttk.Button(self.top,text="计算")
    42.         self.calcBtn.grid(row=6,column=1,pady=10)
    43.         self.calcBtn.bind("<Button-1>",self.calcTax)   #不能直接用Button的command参数绑定,commmand默认不传event参数
    44.     def calcTax(self,event):     #做为事件的回调函数须要有event参数
    45.         try:
    46.             beforeTax = float(self.beforeTaxEntry.get())
    47.             insurance = float(self.insuranceEntry.get())
    48.         except ValueError as e:   #空或非数字转成浮点时都会捕获,但不做响应
    49.             pass
    50.         else:
    51.             taxAmout = beforeTax - insurance - TaxCalc.taxPoint if (beforeTax - insurance) > TaxCalc.taxPoint else 0
    52.             if taxAmout < 3000:
    53.                 tax = taxAmout*0.03
    54.             elif taxAmout < 12000:
    55.                 tax = taxAmout*0.1-210
    56.             elif taxAmout < 25000:
    57.                 tax = taxAmout*0.2-1410
    58.             elif taxAmout < 35000:
    59.                 tax = taxAmout*0.25-2660
    60.             elif taxAmout < 55000:
    61.                 tax = taxAmout*0.3-4410
    62.             elif taxAmout < 80000:
    63.                 tax = taxAmout*0.35-7160
    64.             else:
    65.                 tax = taxAmout*0.45-15160
    66.             afterTax = beforeTax - insurance -tax
    67.             taxAmout = "{0:.2f}".format(taxAmout)
    68.             tax = "{0:.2f}".format(tax)
    69.             afterTax = "{0:.2f}".format(afterTax)
    70.             self.taxAmoutEntry.delete(0,tk.END)
    71.             self.taxAmoutEntry.insert(0, taxAmout)
    72.             self.taxEntry.delete(0,tk.END)
    73.             self.taxEntry.insert(0,tax)
    74.             self.afterTaxEntry.delete(0,tk.END)
    75.             self.afterTaxEntry.insert(0, afterTax)
    76. if __name__ == '__main__':
    77.     s = TaxCalc()
    复制代码

    支持一下,这些板块不太活跃。
    综合型编程论坛
    Writing Code That Nobody Else Can Read.

    TOP

    返回列表
  • 习近平要求把这项工作作为重大政治任务 2019-03-24
  • 充分发挥重要平台和有效载体作用 以特色小镇建设促进乡村振兴 2019-03-18
  • 脸每天都洗,但你真的洗对了吗? 2019-03-18
  • 港珠澳大桥珠海口岸停车场智慧停车系统启用在即 2019-03-14
  • 以实际行动诠释忠诚 以实干实政维护核心 2019-03-14
  • 天津市津南区严打校园周边“五毛食品” 2019-03-11
  • 设计众议院:新时代消费观念造就的全新第八代凯美瑞 2019-03-11
  • 补时绝杀!英格兰2-1突尼斯 凯恩梅开二度 2019-03-09
  • 我和党报党网有个约会在线征集活动 2019-03-09
  • 吃饭刷脸 还有多远? 2019-03-07
  • 中共中央文件选集一(1921―1925) 2019-03-05
  • 《中国气候变化蓝皮书》:年平均气温显著上升 2019-03-05
  • 这样的银行就应该倒闭 2019-03-01
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-03-01
  • 中国欲举办2030年世界杯?网友调侃:真可笑 2019-02-26