python程序的窗口化
发布网友
发布时间:2022-04-22 04:31
我来回答
共4个回答
懂视网
时间:2022-04-15 00:24
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 # Author: scott # # Created: 04/02/2012 #------------------------------------------------------------------------------- import pymssql import sys import decimal reload(sys) sys.setde
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入
# Author: scott
#
# Created: 04/02/2012
#-------------------------------------------------------------------------------
import pymssql
import sys
import decimal
reload(sys)
sys.setdefaultencoding( "utf8" )
class MSSQL:
"""
对pymssql的简单封装
pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启
用法:
"""
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
"""
得到连接信息
返回: conn.cursor()
"""
if not self.db:
raise(NameError,"没有设置数据库信息")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
raise(NameError,"连接数据库失败")
else:
return cur
def ExecQuery(self,sql):
"""
执行查询语句
返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
调用示例:
ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
for (id,NickName) in resList:
print str(id),NickName
"""
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
#查询完毕后必须关闭连接
self.conn.close()
return resList
def ExecNonQuery(self,sql):
"""
执行非查询语句
调用示例:
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
"""
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
[1] [2] [3]
热心网友
时间:2022-04-14 21:32
如果我没有理解错的话,看样子你应该不需要.net,就是自己的一个程序想要个图形界面而已。
我自己曾经也想给自己的程序添加图形界面,但是后来放弃了!因为尝试后发现太麻烦!比matlab写图形界面麻烦多了……最后我是用的后面加参数的调用方法,图形界面还是用vb开发好……反正用linux的根本不在乎图形界面。
扯远了……总体来说,python的图形界面最常用的就是两个,自带的tkinter(tcl/tk)和第三方的WxPython。后者比前者强大很多倍。不过,反正我自己觉得你用第一个也够了,还可以缩小体积增加兼容性。wxpython很强大,而且熟悉后开发很快。关键就是熟悉他麻烦,太多要学的了。听咱的,看几个简单例子用tkinter搞定得了……
好吧。tkinter大致过程如下。我个人觉得太小的程序就不用分成多个py文件了(反正我习惯不好),因为tkinter里面,定义窗体是一个tkinter的实例,然后再mainloop表示界面结束后,你可以随便定义自己的方法什么的。(为什么我总是跑题啊啊啊……)
咳咳。给你几个例子吧。
==============================================
强调:详细内容必须自己看说明!我会在文末和参考文献中给出!
当然,这个回答推荐你复制到具有语法加亮的编辑器中看,比如notepad++之类。
================================================
#首先是Fredrik Lundh版本的hello world,这是最简单的版本:
# File: hello1.py
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
# root=Tk()将创建一个窗体。然后w.pack()的时候将内容更新上去。这句是最重要的一句,无论如何都少不了的。在后面的例子中你会注意到一开始定义了很多窗体的东西,但是最后都会用这句来生成窗体。然后用mainloop()来接收操作。当然,这会彻底占用这个线程。
#================================
#再来看python官方doc文档里面的hello world,这个实力包含了大多数元素。
from Tkinter import *
class Application(Frame):
def say_hi(self):
print "hi there, everyone!"
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
#这个实例里面包括了按钮,如何调用自己的方法,等等。但是没有文本框和菜单等。
#我想我不应该把所有的东西都写在这里了,比较这里面的东西很多,需要你自己学一下。
#但是相信我,这个学起来不wxpython容易多了,因为有很多写的很好的教程。
#除非,你英语不好。但是这也不会影响太多,因为把第一个教程(An Introction to Tkinter ——by Fredrik Lundh)中的例子一个一个做一次你就明白了每个语句是什么用的了。
===========================
参考资料(一定要去看哦!比去论坛和邮件组方便多了!):
【1】An Introction to Tkinter ——by Fredrik Lundh
online:http://www.pythonware.com/library/tkinter/introction/index.htm
PDF: http://www.pythonware.com/media/data/an-introction-to-tkinter.pdf
这本是推荐入门教程!因为例子真的很细很简单!和那本《a bite of python》(好像叫python简明教程?)相比真的很像!不过作者当然不是一个人了。
【2】Tkinter 8.4 reference: a GUI for Python ——by New Mexico Tech Computer Center
online:http://www.nmt.e/tcc/help/pubs/tkinter/
PDF :http://www.nmt.e/tcc/help/pubs/tkinter/tkinter.pdf
和名字取得一样,就是一本参考书,为了方便查询的。推荐读了第一本需要的时候查这个。说起来第一本就应该是”指南“了,哈哈……
【3】24.1. Tkinter — Python interface to Tcl/Tk —— Official library
online: http://docs.python.org/library/tkinter.html
这个是官方的参考。真不愧是官方的,一般人都看不懂……很详细的列出了很多东西,然后用很小的篇幅把他们都融入了进去,几乎没有例子。等你基本熟悉了之后在看吧,反正我觉得不看也罢,官方的东西都是裹脚布,还是用了很多年的那种!看的想骂人
=======================
基本上就是这样了。
反正命令行也挺好。因为python开发出的gui是在太丑了!想要好看的gui ?微软的Expression吧……那东西开发出来超好看。不过就必须用vb或者C#了……而且windows限定……
热心网友
时间:2022-04-14 22:50
需要写一份 python 文件(利用 tk 库或其他GUI库,如wxPython)做界面,功能部分调用你原来的 python 文件。
热心网友
时间:2022-04-15 00:24
有简单的“确定”、“是否”窗口的,
其它需要其它的支持,比如wxpython,
窗体的命令完全不同于python,因为太臃肿了。