导航:首页 > 编程知识 > 编程如何调用tkinter

编程如何调用tkinter

发布时间:2024-11-29 01:10:12

『壹』 Python 中用 Tkinter GUI编程

可以使用sqlite,下面是使用方法。

  1. 导入PythonSQLITE数据库模块

Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~

importsqlite3


2.创建/打开数据库


在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。


cx=sqlite3.connect("E:/test.db")

也可以创建数据库在内存中。

con=sqlite3.connect(":memory:")

3.数据库连接对象


打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:


commit()--事务提交


rollback()--事务回滚

close()--关闭一个数据库连接

cursor()--创建一个游标


关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。

4.使用游标查询数据库


我们需要使用游标对象SQL语句查询数据库,获得查询对象。通过以下方法来定义一个游标。


cu=cx.cursor()

游标对象有以下的操作:

execute()--执行sql语句

executemany--执行多条sql语句

close()--关闭游标

fetchone()--从结果中取一条记录,并将游标指向下一条记录

fetchmany()--从结果中取多条记录

fetchall()--从结果中取出所有记录

scroll()--游标滚动


1.建表

cu.execute("createtablecatalog(idintegerprimarykey,pidinteger,namevarchar(10)UNIQUE,nicknametextNULL)")


上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。


2.插入数据


请注意避免以下写法:


#Neverdothis--insecure会导致注入攻击


pid=200

c.execute("...wherepid='%s'"%pid)

正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。

fortin[(0,10,'abc','Yu'),(1,20,'cba','Xu')]:

cx.execute("insertintocatalogvalues(?,?,?,?)",t)

简单的插入两行数据,不过需要提醒的是,只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作.

cx.commit()


3.查询

cu.execute("select*fromcatalog")


要提取查询到的数据,使用游标的fetch函数,如:


In[10]:cu.fetchall()

Out[10]:[(0,10,u'abc',u'Yu'),(1,20,u'cba',u'Xu')]

如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去.


4.修改

In[12]:cu.execute("updatecatalogsetname='Boy'whereid=0")

In[13]:cx.commit()

注意,修改数据以后提交


5.删除


cu.execute("deletefromcatalogwhereid=1")

cx.commit()


6.使用中文

请先确定你的IDE或者系统默认编码是utf-8,并且在中文前加上u


x=u'鱼'

cu.execute("updatecatalogsetname=?whereid=0",x)

cu.execute("select*fromcatalog")

cu.fetchall()

[(0,10,u'u9c7c',u'Yu'),(1,20,u'cba',u'Xu')]

如果要显示出中文字体,那需要依次打印出每个字符串


In[26]:foritemincu.fetchall():

....:forelementinitem:

....:printelement,

....:print

....:

010鱼Yu

120cbaXu


7.Row类型

Row提供了基于索引和基于名字大小写敏感的方式来访问列而几乎没有内存开销。原文如下:

sqlite3.Rowprovidesbothindex-basedandcase-insensitivename-.-basedapproachorevenadb_rowbasedsolution.

Row对象的详细介绍


classsqlite3.Row

_factoryforConnectionobjects..


,iteration,representation,equalitytestingandlen().


,theycompareequal.


Changedinversion2.6:Addediterationandequality(hashability).


keys()

.Immediatelyafteraquery,.description.


Newinversion2.6.


下面举例说明


In[30]:cx.row_factory=sqlite3.Row


In[31]:c=cx.cursor()


In[32]:c.execute('select*fromcatalog')

Out[32]:<sqlite3.Cursorobjectat0x05666680>


In[33]:r=c.fetchone()


In[34]:type(r)

Out[34]:<type'sqlite3.Row'>


In[35]:r

Out[35]:<sqlite3.Rowobjectat0x05348980>


In[36]:printr

(0,10,u'u9c7c',u'Yu')


In[37]:len(r)

Out[37]:4


In[39]:r[2]#使用索引查询

Out[39]:u'u9c7c'


In[41]:r.keys()

Out[41]:['id','pid','name','nickname']


In[42]:foreinr:

....:printe,

....:

010鱼Yu


使用列的关键词查询

In[43]:r['id']

Out[43]:0


In[44]:r['name']

Out[44]:u'u9c7c'

『贰』 14. python GUI编程之Tkinter详细讲解一

GUI编程概述

1.1 GUI含义及Tkinter介绍

1.2 常见的GUI库

1.3 tkinter GUI开发核心步骤

Thinker整体描述

2.1 类继承关系图

2.2 相关类的简单解释

2.3 标准的GUI程序类的写法模板

主窗口和布局管理器

3.1 主窗口大小位置方法

3.2 布局管理器

3.2.1 pack()

3.2.1 grid()

3.2.1 place()

感谢阅读,更多干货知识搜索:嵌入式软件开发园!!!

『叁』 Python GUI编程利器:Tkinker中的消息对话框(13)

学习Tkinter中的消息对话框的使用,实现文本、警告、错误、疑问、是否、是否取消、确定取消、重试取消消息对话框的效果。

文本消息对话框通过showinfo()创建,语法为:showinfo(title,message),title为标题,message为内容。

提示警告消息对话框使用showwarning(title,message),点击确定返回ok。

提示错误消息对话框使用showerror(title,message),点击确定返回ok。

疑问消息对话框分为askquestion()和askyesno()函数,askquestion()返回yes或no,askyesno()返回True或False,语法为:askquestion(title,message)和askyesno(title,message)。

疑问消息对话框包含是否、是否取消、确定取消、重试取消功能,使用askyesnocancel(title,message)和askokcancel(title,message)及askretrycancel(title,message)函数,返回值分别为True、False或None。

参考代码提供实践指导。

学习完成,欢迎提问交流。

阅读全文

与编程如何调用tkinter相关的资料

热点内容
qq空间权限漏洞2017 浏览:878
win7共享权限工具 浏览:895
怎么关闭浏览器pdf文件在哪里 浏览:330
微信号和密码都忘了 浏览:689
文件主文件名是什么 浏览:596
慈溪市大数据发展中心在哪里 浏览:350
明华二代u盾驱动程序 浏览:478
axis2java2wsdl命令 浏览:528
怎么创建图标文件 浏览:301
jsp页面截取字符串 浏览:668
压缩文件传电脑打不开 浏览:34
如何弄个自己的app 浏览:361
如何在银行app中改密码 浏览:316
什么app拍视频又瘦又高 浏览:979
编程语言foo是什么意思 浏览:826
如何不用APP连接斐讯手环 浏览:698
王菲版本的无地自容 浏览:489
编程如何调用tkinter 浏览:512
电气工程的编程主要是什么 浏览:112
word重复标题行单元格边框 浏览:977

友情链接