熟悉python中的tkinter图形包--(写一个参数计算器)
2016-05-20 21:11
417 查看
对python也有个基础的了解 了,总想着做点什么一直苦于找不到好的实践方式,这不任务来了,需要做实验的计划方案,,方案中需要根据3个已知的参数计算其他的参数,以及稳定状态的参数,因此打算用这个来熟悉python了,虽然这个程序不怎么健壮,也没有将参数封装起来,但是让我基本熟悉了tkinter这个做gui的第三方包。不说了,直接上程序,有想详细了解的直接私信就好!
#coding:utf-8 from Tkinter import * from traitlets.config.application import catch_config_error root = Tk() root.title('球磨机参数计算') frame = Frame(root) frame.pack() framer = Frame(root) framer.pack() frame1 = Frame(root) frame1.pack() frame3 = Frame(root) frame3.pack() frame4 = Frame(root) frame4.pack() frame2 = Frame(root) frame2.pack() L1 = Label(frame, text="1质量") L1.pack( side = LEFT) E1 = Entry(frame, bd =5) E1.pack(side = LEFT) L2 = Label(frame, text="2质量") L2.pack( side = LEFT) E2 = Entry(frame, bd =5) E2.pack(side = LEFT) L3 = Label(frame, text="3质量") L3.pack( side = LEFT) E3 = Entry(frame, bd =5) E3.pack(side = LEFT) L4 = Label(frame, text="容积(L)") L4.pack( side = LEFT) E4 = Entry(frame, bd =5) E4.insert(END, '200') E4.pack(side = LEFT) #----------------------------------------------- rg = Label(framer, text="1密度") rg.pack( side = LEFT) rgg = Entry(framer, bd =5) rgg.insert(END, '7900') rgg.pack(side = LEFT) rw = Label(framer, text="2密度") rw.pack( side = LEFT) rww = Entry(framer, bd =5) rww.insert(END, '2200') rww.pack(side = LEFT) rs = Label(framer, text="3密度") rs.pack( side = LEFT) rss = Entry(framer, bd =5) rss.insert(END, '1000') rss.pack(side = LEFT) jk = Label(framer, text="介空率") jk.pack( side = LEFT) jkk = Entry(framer, bd =5) jkk.insert(END, '0.38') jkk.pack(side = LEFT) #----------------------------------------------- L5 = Label(frame1, text="12比") L5.pack( ) v5text = StringVar() v5 = Entry(frame1, text = v5text) v5.pack() L6 = Label(frame1, text="123") L6.pack( ) v6text = StringVar() V6 = Entry(frame1 ,text = v6text ) V6.pack() L7 = Label(frame1, text="充填率") L7.pack( ) v7text = StringVar() V7 = Entry(frame1 , text = v7text) V7.pack() L8 = Label(frame1, text="充填率12") L8.pack( ) v8text = StringVar() V8 = Entry(frame1 , text = v8text) V8.pack() var = StringVar() label = Label( frame3, textvariable=var, relief=RAISED ) var.set("----------------------------------------转速恒定时的负荷-------------------------------------------") label.pack() l9 = Label(frame4, text="1负荷") l9.pack( ) v9text = StringVar() V9 = Entry(frame4 , text = v9text) V9.pack() l10 = Label(frame4, text="2负荷") l10.pack( ) v10text = StringVar() V10 = Entry(frame4 , text = v10text) V10.pack() l11 = Label(frame4, text="3负荷") l11.pack() v11text = StringVar() V11 = Entry(frame4 , text = v11text) V11.pack() def cmp_f_mw(lb , lw , lm , vmill ,mg ,mw , ms,cont): v5text.set('') v5text.set(lm/(lm+lw)) def cmp_f_mb(lb , lw , lm , vmill ,mg ,mw , ms ,cont): v6text.set('') v6text.set((lm/mw)/((cont/(1-cont))*(lb/mg))) def cmp_f_bf(lb, lw, lm, vmill, mg, mw, ms, cont): f_bf = (((cont/(1-cont))*(lb/mg))+(lb/mg))/vmill v7text.set('') v7text.set(f_bf) def cmp_f_bmw(lb, lw, lm, vmill, mg, mw, ms, cont): bmw = (lm/mw + lw/mw + lb/mg)/vmill v8text.set('') v8text.set(bmw) try: def comput(): lb = E1.get() lw = E2.get() lm = E3.get() vmill = E4.get() mg = rgg.get() mw = rww.get() ms = rss.get() cont = jkk.get() lb = float(lb) lw = float(lw) lm = float(lm) vmill = float(vmill) mg = float(mg) mw = float(mw) ms = float(ms) cont =float(cont) #计算1 cmp_f_mw(lb , lw , lm , vmill ,mg ,mw , ms ,cont) #计算2 cmp_f_mb(lb , lw , lm , vmill ,mg ,mw , ms ,cont) #计算3 cmp_f_bf(lb , lw , lm , vmill ,mg ,mw , ms ,cont) #计算充填率 cmp_f_bmw(lb , lw , lm , vmill ,mg ,mw , ms ,cont) except EXCEPTION: print 'jajjaja' B = Button(frame2, text ="计算负荷参数", command = comput) B.pack(side = LEFT) def cmp_wl_fh(lb, lw, lm, vmill, mg, mw, ms, cont, lqb, mknd, jztc, tc): lm = (tc*vmill)/((1/mw)+((1-mknd)/(mw*mknd)+((1-cont)/cont))*(1/(lqb*mw))) v11text.set('') v11text.set(lm) def cmp_gq_fh(lb, lw, lm, vmill, mg, mw, ms, cont, lqb, mknd, jztc, tc): lbc = (tc *vmill*mg*((1-cont)/cont))/(lb+((1-lw)/lw)*((mw*lb)/mw)+((1-cont)/cont)) v9text.set('') v9text.set(lbc) def cmp_sh_fh(lb, lw, lm, vmill, mg, mw, ms, cont, lqb, mknd, jztc, tc): water =(tc*vmill)/(mknd/(mw*(1-mknd))+1/ms +((1-cont)*mknd)/(cont*mw*lqb*(1-mknd))) v10text.set('') v10text.set(water) def computnow(): lqb = v5.get() mknd = V6.get() jztc = V7.get() tc = V8.get() lqb = float(lqb) mknd = float(mknd) jztc = float(jztc) tc = float(tc) lb = E1.get() lw = E2.get() lm = E3.get() vmill = E4.get() mg = rgg.get() mw = rww.get() ms = rss.get() cont = jkk.get() lb = float(lb) lw = float(lw) lm = float(lm) vmill = float(vmill) mg = float(mg) mw = float(mw) ms = float(ms) cont =float(cont) #1负荷 cmp_wl_fh(lb , lw , lm , vmill ,mg ,mw , ms ,cont,lqb,mknd,jztc,tc) #2负荷 cmp_gq_fh(lb , lw , lm , vmill ,mg ,mw , ms ,cont,lqb,mknd,jztc,tc) #3负荷 cmp_sh_fh(lb , lw , lm , vmill ,mg ,mw , ms ,cont,lqb,mknd,jztc,tc) B = Button(frame2, text ="计算正常运转时的负荷", command = computnow) B.pack(side = LEFT) root.mainloop()
相关文章推荐
- 感知机学习算法初步1
- Python资料锦集
- Python中pydoc命令在windows下不能使用的解决办法
- Python os.popen()方法的用法
- python
- Python 进阶 —— 迭代器与生成器
- VMware workstations 12里配置Ubuntu 12.04及python环境
- Python 扫面文件夹中的文件
- 【Python自动化运维之路Day2】
- leetcode(11), Number of 1 Bits(python)
- TexturePacker批处理python
- selenium+python笔记11
- Python - Django分布式Celery使用
- 【 Python 】函数的参数
- python生成html报告
- python 自定义 包 模块 打包 安装
- Python学习小记2
- python paramiko模块实现sftp上传下载文件
- Searching in baidu using BeautifulSoup in Python3.3
- python paramiko模块安装和使用