Python 中用 Tkinter GUI编程
发布时间:2025-05-24 00:22:47 发布人:远客网络
一、Python 中用 Tkinter GUI编程
可以使用sqlite,下面是使用方法。
Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~
在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。
cx=sqlite3.connect("E:/test.db")
con=sqlite3.connect(":memory:")
打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:
关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。
我们需要使用游标对象SQL语句查询数据库,获得查询对象。通过以下方法来定义一个游标。
fetchone()--从结果中取一条记录,并将游标指向下一条记录
fetchmany()--从结果中取多条记录
fetchall()--从结果中取出所有记录
cu.execute("createtablecatalog(idintegerprimarykey,pidinteger,namevarchar(10)UNIQUE,nicknametextNULL)")
上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。
#Neverdothis--insecure会导致注入攻击
c.execute("...wherepid='%s'"%pid)
正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。
fortin[(0,10,'abc','Yu'),(1,20,'cba','Xu')]:
cx.execute("insertintocatalogvalues(?,?,?,?)",t)
简单的插入两行数据,不过需要提醒的是,只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作.
cu.execute("select*fromcatalog")
要提取查询到的数据,使用游标的fetch函数,如:
Out[10]:[(0,10,u'abc',u'Yu'),(1,20,u'cba',u'Xu')]
如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去.
In[12]:cu.execute("updatecatalogsetname='Boy'whereid=0")
cu.execute("deletefromcatalogwhereid=1")
请先确定你的IDE或者系统默认编码是utf-8,并且在中文前加上u
cu.execute("updatecatalogsetname=?whereid=0",x)
cu.execute("select*fromcatalog")
[(0,10,u'\u9c7c',u'Yu'),(1,20,u'cba',u'Xu')]
如果要显示出中文字体,那需要依次打印出每个字符串
In[26]:foritemincu.fetchall():
Row提供了基于索引和基于名字大小写敏感的方式来访问列而几乎没有内存开销。原文如下:
sqlite3.Rowprovidesbothindex-basedandcase-insensitivename-basedaccesstocolumnswithalmostnomemoryoverhead.Itwillprobablybebetterthanyourowncustomdictionary-basedapproachorevenadb_rowbasedsolution.
ARowinstanceservesasahighlyoptimizedrow_factoryforConnectionobjects.Ittriestomimicatupleinmostofitsfeatures.
Itsupportsmappingaccessbycolumnnameandindex,iteration,representation,equalitytestingandlen().
IftwoRowobjectshaveexactlythesamecolumnsandtheirmembersareequal,theycompareequal.
Changedinversion2.6:Addediterationandequality(hashability).
Thismethodreturnsatupleofcolumnnames.Immediatelyafteraquery,itisthefirstmemberofeachtupleinCursor.description.
In[30]:cx.row_factory=sqlite3.Row
In[32]:c.execute('select*fromcatalog')
Out[32]:<sqlite3.Cursorobjectat0x05666680>
Out[34]:<type'sqlite3.Row'>
Out[35]:<sqlite3.Rowobjectat0x05348980>
(0,10,u'\u9c7c',u'Yu')
Out[41]:['id','pid','name','nickname']
二、pythongui是什么意思
1、Pythongui指的是Python语言的图形用户界面库或框架。
2、Python是一种广泛使用的高级编程语言,其语法简洁易懂,广泛应用于数据分析、机器学习、Web开发等领域。在Python的开发环境中,除了基础的编程语法外,还有许多库和框架可以帮助开发者更高效地构建应用程序。其中,Pythongui就是专门用于创建图形用户界面的库或框架。
3、图形用户界面,简称GUI,是计算机程序与用户之间进行交互的一种界面形式。它采用图形化的方式显示信息,如窗口、按钮、文本框等,用户通过鼠标点击、键盘输入等方式与计算机程序进行交互。在Python中,Pythongui可以帮助开发者快速构建具有图形界面的应用程序。
4、Pythongui提供了丰富的工具和函数,用于创建各种图形界面元素,如窗口、按钮、文本框等。开发者可以使用这些工具来构建用户界面,并通过事件驱动的方式实现用户与程序之间的交互。此外,Pythongui还具有良好的跨平台性,可以在不同的操作系统上运行,提供了丰富的文档和示例代码,方便开发者学习和使用。
5、Pythongui广泛应用于各种需要图形界面的应用程序开发,如桌面应用程序、游戏开发、多媒体应用等。通过Pythongui,开发者可以快速构建美观、易用的图形界面,提高用户的使用体验。同时,Pythongui还可以与其他Python库和框架结合使用,如Tkinter、PyQt等,实现更强大的功能。
6、总的来说,Pythongui是Python语言中用于创建图形用户界面的一个重要库或框架,为开发者提供了丰富的工具和函数来构建具有图形界面的应用程序。
三、python是如何写界面程序的
看了你的问题,几个回答似乎都不完全对。给你补充一下吧。
你的问题与flask基本上没有关系。flask是一个简单的微型编程框架,很优美,也很简单好用。不过它仅仅实现了基于HTTP协议的服务端交互部分。
一个界面设计除了服务端交互,还需要本地交互(用JS, flash实现),最重要的还是需要客户端界面(用HTML+CSS+JS实现)。文件上传需要(JQUERY+UPLOADFILE库)
从上面的回答看,你似乎刚开始着手做这些。我建议你按这个思路去做。
先学习html2.0,不是4.01,也不是5.0,因为2.0更基本。然后用frame和table做出你的界面,先实现左边的部分
然后学习css,把你左边的两个按钮搞定。用TABLE也可以,比如笨。然后用CSS将frame方式换成iframe实现
用传统的html方式实现右边的上传下载
学习jquery,用其中uploadfile功能重新实现右边的上传功能
如果你学得快,需要1个星期,学得慢就说不准了,也许3个星期完成。