导航:首页 > 编程知识 > 编程如何调用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相关的资料

热点内容
如何让插入的图表显示数据 浏览:372
linux取消挂在根目录 浏览:72
java如何传递class 浏览:423
怎么打开cam文件 浏览:328
ds5020linux 浏览:655
win10分区ubuntu双系统吗 浏览:104
ps工具的作用 浏览:25
八一剧app在哪里下载 浏览:615
微信零钱理财4款哪个好 浏览:270
怎么去除文件名的水印 浏览:214
如何购买下架app苹果 浏览:205
java相关网络协议 浏览:730
滴滴网络证怎么搞 浏览:867
苹果笔记本W7触控板 浏览:594
编程讲座讲什么 浏览:102
ios系统编程语言有哪些 浏览:142
net封装json 浏览:617
java开发浏览器劫持 浏览:507
手机密码记录软件 浏览:268
QQ空间视频哪个文件夹 浏览:870

友情链接