导航:首页 > 编程语言 > pythontkinter编程

pythontkinter编程

发布时间:2022-07-05 01:41:51

A. python编程急求!!:在tkinter中,怎样将函数与不同的button链接,使点击选项后在弹窗中执行相应函数

def func():
pass

btn = Button(root,text = "xxx",command = func)
btn_2 = Button(root,text = "xxx",command = func)

B. python与tkinter编程哪个有优势

pyqt还不错,它是Python语言的GUI编程解决方案之一。可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等

优点:

PyQt的API与Qt类似,Qt的文档通常仍然可以应用于PyQt。因此,PyQt的文档比PyGTK、wxPython、Tkinter等GUI编程库的文档丰富得多。
如果程序员具备使用Qt的经验,一般很快就可以过渡到PyQt上。而使用PyQt的程序员,如果同时精通C++的话,也可以很快地过渡到Qt平台上。
利用SIP,大多数为Qt开发的控件可以方便地port到PyQt。——然而,SIP也需要一些学习成本。
有方便的周边工具支持PyQt。如QtDesigner,可以使用拖拉式的方法来设计界面,简单易用。Eric4,一个使用PyQt设计的Python IDE,对PyQt有特殊的支持。

C. python Tkinter编程问题

可以用这个frame的winfo_width()方法获得实际宽度,winfo_height()可以获得高度,比如:
fr=Frame(tk)
fr.pack(side=TOP, fill=BOTH, expand=True)
print "frame size before update: ", fr.winfo_width(), fr.winfo_height()
fr.update()
print "frame size after update: ", fr.winfo_width(), fr.winfo_height()

D. Python2.X Tkinter编程

package Sort;

import java.util.Arrays;
import java.util.Random;

public class MergeSort {

public void sort(int array[]){

if(array.length== 0 ||array.length == 1)
return;

int mid = array.length/2;
int a[] = Arrays.OfRange(array, 0, mid);
int b[] = Arrays.OfRange(array, mid, array.length);

E. Python编程的tkinter窗口编译成exe文件无法正确执行

最后一行加括号,改成root.mainloop()

F. python用tkinter创建一个登录界面

import tkinter
import tkinter.ttk
import tkinter.messagebox

root = tkinter.Tk()
root.title("登录")
userlabel = tkinter.Label(root,text="用户名:")
passwordlabel = tkinter.Label(root,text="密码:")
userlabel.grid(row=0,column=0)
passwordlabel.grid(row=1,column=0)
userentry = tkinter.ttk.Entry(root)
passwordentry = tkinter.ttk.Entry(root,show="●")
userentry.grid(row=0,column=1,padx=10,pady=2)
passwordentry.grid(row=1,column=1,padx=10,pady=2)

def get():
tkinter.messagebox.showinfo("结果","用户名:" + userentry.get() + " 密码:" + passwordentry.get())

yes = tkinter.ttk.Button(root,text="确定",command=get)
yes.grid(row=2,column=1)
root.mainloop()

效果图

G. Python怎么将tkinter 输入框中输入的字符串内容转换为 整数类型

设定变量类型,收到输入的内容之后进行转换,如下:

import tkinter

windows = tkinter.Tk() # 实例化窗口类
windows.title('Demo') # 窗口标题

def sub(): # 创建相加函数
number1 = int(ent1.get()) # 获得两个按钮的内容转换为字符串类型
number2 = int(ent2.get())
number3 = number1 + number2
var.set(number3)

var = tkinter.IntVar() # 定义变量类型
ent1 = tkinter.Entry(windows)
ent2 = tkinter.Entry(windows)
ent3 = tkinter.Entry(windows,textvariable=var)
ent1.pack(side = tkinter.LEFT,padx=5) # 包装定位控件
ent2.pack(side = tkinter.LEFT,padx=5)
ent3.pack(side = tkinter.LEFT,padx=5)
button1 = tkinter.Button(windows,text='计算',command = sub).pack() # 绑定信号
button2 = tkinter.Button(windows,text='退出',command = windows.destroy).pack()

windows.mainloop() # 循环保持窗口运行


H. 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'

I. python怎么用tkinter

Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
对于稍有GUI编程经验的人来说,Python的Tkinter界面库是非常简单的。python的GUI库非常多,选择Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,三则是从需求出发,Python作为一种脚本语言,一种胶水语言,一般不会用它来开发复杂的桌面应用,它并不具备这方面的优势,使用Python,可以把它作为一个灵活的工具,而不是作为主要开发语言,那么在工作中,需要制作一个小工具,肯定是需要有界面的,不仅自己用,也能分享别人使用,在这种需求下,Tkinter是足够胜任的!

J. PYTHON tkinter编程,请懂的人帮忙:

界面设计有一个基本原则,同样适用于tkinter,也就是说界面是单线程的。所以界面的所有事件,如果特别是耗时,不能几毫秒解决。就需要交给后台线程去做。后台线程做完了后就将结果放在一个变量里,再通常消息通知界面刷新。这样界面就不会卡住了。

doevents的原理是。强制停下当前线程,然后处处理一下窗口消息队列里的事件。不过有时候这个方法并不灵,也会出现界面卡死。

所以你绑定了事件,然后触发成功,也执行了。不过你执行的这段代码一直在循环运行,没有很快退出,这样界面当然就没有办法刷新了。

你可以启动一个线程去做你的那件事情。

阅读全文

与pythontkinter编程相关的资料

热点内容
编译程序输入一个字符串 浏览:404
圆命令画法 浏览:305
如果给电脑e盘文件加密 浏览:801
javaswing项目 浏览:774
androidsdksetup 浏览:1003
pdf怎么设置中文 浏览:126
安卓手机用什么软件看伦敦金 浏览:964
魅族文件夹无名称 浏览:789
苏黎世无人机算法 浏览:872
核桃编程和小码王的融资 浏览:684
微积分教材pdf 浏览:725
写python给微信好友发消息 浏览:336
蚊帐自营米加密 浏览:420
学校推荐核桃编程 浏览:804
湖南农信app怎么导明细 浏览:473
福特abs编程 浏览:509
如何自学安卓手机 浏览:439
以太坊源码共识机制 浏览:912
单片机探测器 浏览:872
demo编程大赛作品怎么运行 浏览:52