设为首页 收藏本站
查看: 788|回复: 0

[经验分享] python程序源码,使用tkinter,不要告密哦

[复制链接]
发表于 2017-5-6 10:41:35 | 显示全部楼层 |阅读模式
    这是我在中科院写的第一个python程序,导师让我统计关于病毒和细菌数据库的信息,我决定趁此机会学习python,并写一个GUI程序,读取我的信息列表。

    把代码放在下面,不违反我们所的保密协议吧,哈哈。涉及的东西有tk的label,text,scrollbar,访问数据库这些内容

#copyright @ ChenSun Beijing Institute of Genomics, Chinese Academy of Sciences 2009
from Tkinter import *
root = Tk()
#read the database
import win32com.client
conn = win32com.client.Dispatch('ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:/biology/BS(Influenza Database)/database_analysis/database_of_bio_databases.mdb'
conn.Open(DSN)
rs = win32com.client.Dispatch('ADODB.Recordset')
rs_name = 'microbo' #table name
rs.Open('['+ rs_name +']', conn, 1, 3)
flds = {}

class DataReader:
def __init__(self, master):
#database name
self.label_name = Label(master, name = "label_name", text = "Database Name")
self.label_name.place(x = 5, y = 5)
self.text_name = Text(height = 1)
self.text_name.place(x = 105, y = 5, width = 600)
self.text_name.insert('1.0', 'text_name')
#About
self.label_about = Label(master, text = "About")
self.label_about.place(x = 5, y = 30)
self.text_about = Text(master, height = 1)
self.text_about.place(x = 105, y = 30, width = 600)
self.text_about.insert('1.0', "Virus")
#amount of data
self.label_num = Label(master, text = "Amount of Data")
self.label_num.place(x = 5, y = 55)
self.text_num = Text(master, height = 2)
self.text_num.place(x = 105, y = 55, width = 600)
self.text_num.insert('1.0', "text_num")
#introduction of database
self.label_intro = Label(master, text = "Introduction")
self.label_intro.place(x = 5, y = 100)
self.text_intro = Text(master)
self.text_intro.place(x = 105, y = 100, width = 600, height = 200)

self.scrollbar_intro = Scrollbar(master, orient = VERTICAL, command = self.text_intro.yview)
self.scrollbar_intro.place(x = 705, y = 100, height = 200)
self.text_intro["yscrollcommand"] = self.scrollbar_intro.set

#tools of database
self.label_tools = Label(master, text = "Tools")
self.label_tools.place(x = 5, y = 305)
self.text_tools = Text(master)
self.text_tools.place(x = 105, y = 305, width = 600, height = 250)
self.scrollbar_tools = Scrollbar(master, orient = VERTICAL, command = self.text_tools.yview)
self.scrollbar_tools.place(x = 705, y = 305, height = 250)
self.text_tools["yscrollcommand"] = self.scrollbar_tools.set

#button
self.button_forward = Button(master, text = ">>", command = self.Forward)
self.button_forward.place(x = 710, y = 570, height = 20, width = 40)
self.button_backword = Button(master, text = "<<", command = self.Backward)
self.button_backword.place(x =660, y = 570, height = 20, width = 40)
#copyright @ ChenSun Beijing Institute of Genomics, Chinese Academy of Sciences
self.label_copyright = Label(master, text = "Copyright(c) ChenSun   Beijing Institute of Genomics, Chinese Academy of Sciences 2009")
self.label_copyright.place(x = 5, y = 570)
rs.MoveFirst()
self.WriteData(rs, flds)
def WriteData(self, rs, flds):  
for x in range(rs.Fields.Count):
flds[x] = rs.Fields.Item(x).Value
if flds[x] == 'no' or flds[x] == None:
flds[x] = 'Unclassified Statistical Data'
self.text_name.delete('1.0', END)
self.text_name.insert('1.0', flds[1])
self.text_intro.delete('1.0', END)
self.text_intro.insert('1.0', flds[2])
self.text_about.delete('1.0', END)
self.text_about.insert('1.0', flds[3] + '(' + flds[4] + ')')
self.text_num.delete('1.0', END)
self.text_num.insert('1.0', 'Total Data Count:' + flds[5] + '\nItems:' + flds[6])
self.text_tools.delete('1.0', END)
line = '\n**************************************************************\nWith Visualization Tools:\n'
self.text_tools.insert('1.0', flds[7] + line + flds[8])  

def Forward(self):
rs.MoveNext()
if not rs.EOF:
self.WriteData(rs, flds)
else:
rs.MovePrevious()           
#conn.Close()
def Backward(self):  
rs.MovePrevious()
if not rs.BOF:
self.WriteData(rs, flds)
else:
rs.MoveNext()        

dr = DataReader(root)
root.title("Bacterial & Virus Databases")
root.geometry('800x600+100+100')
root.mainloop()
rs.Close()
    python真的蛮好用的,以后就用它做数据分析了,以后我要把源码都贴出来,大家不要告密哦。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373706-1-1.html 上篇帖子: python模块之email: 电子邮件编码解码(转) 下篇帖子: Head First 设计模式——装饰器(Decorator Pattern)——Python实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表