百度
360搜索
搜狗搜索

python+tkinter教程,Python Tkinter之布局详细介绍

本文目录一览: python的tkinter库,求详细用法

tkinter是Python中最有用的库之一,以下有它的详细用法:
准备(必做):
import tkinterWindows=tkinter.Tk()canvas=tkinter.Canvas(Windows,width=数字,height=数字)canvas.pack()
读取图片:变量名=tkinter.PhotoImage(file='....')
放出图片:变量名1=canvas.create_image(数字,数字(两个数字表示坐标),image=变量名,anchor="nw或ne或sw或se或不写,表示锚点")
Windows.title("欢迎") 设置窗口名
canvas.update()更新画面
canvas.delete(变量名1)删除图片
坐标=canvas.coords(变量名1)获取坐标
canvas.itemconfig(改什么,改成什么) 改图片
canvas.move(移什么,x坐标移多少,y坐标移多少)
10.id=canvas.create_text(x坐标,y坐标,text=写什么,fill='填充',font=('字体',字号))
这十个够用一段时间了
希望我的回答能够帮助到您!如果赞同我的观点请您采纳哦!

请问Python Tkinter怎样实现先打开一个窗口,点击Button再打开新窗口,以及新窗口输入的值怎样返回原窗口

1、首先双击打开pycharm开发工具,在已新建python项目中新建python文件。
2、使用from...import*方式导入tkinter,一种是python2中的方式,另一种是python3的。
3、接着创建一个Tk对象,这个对象代表一个窗口。
4、利用title属性设置窗口的标题内容,这里设置为新增用户。
5、调用pack进行布局,使用mainloop用于显示窗口。
6、保存代码并运行,结果出现了报错,提示python2的写法有问题;去掉python2的写法,然后再次保存运行,可以看到弹出一个窗口就完成了。

怎么在Python嵌入版中使用Tkinter?

方法/步骤
第一步,打开eclipse开发工具,新建python文件;导入tkinter需要的包,设置窗口标题,如下图所示:
请点击输入图片描述
第二步,默认的窗口很小,这里设置窗口的宽度和高度,400x300,如下图所示:
请点击输入图片描述
第三步,在窗口中添加一个Entry组件,设置show属性为None,调用pack()方法添加到窗口中;执行这个文件,弹出一个窗口,如下图所示:
请点击输入图片描述
请点击输入图片描述
第四步,再次在窗口上添加一个Button按钮,文本内容为插入字符,设置宽度和高度,如下图所示:
请点击输入图片描述
第五步,添加按钮点击事件,定义事件函数appendStr;获取Entry组件的值,赋值给Label(添加Label控件),结果出现了报错,Label控件没有insert属性,如下图所示:
请点击输入图片描述
请点击输入图片描述
第六步,将Label控件改为Text文本框,再次执行这个文件;在Entry控件输入字符串,点击按钮之后相应的Text也会出现该字符串,如下图所示:
请点击输入图片描述

Python中的tkinter怎么做?

前面的用户名是tkinter的Label标签控件
示例:
user_name=tkinter.Label(容器,text="用户名:")
#创建Label对象
user_name.place(x,y)
#把标签放置在(x,y)的位置上,x
#和y是标签左上角的位置
#按钮的位置也可以用place方法
#来设置
button.place(x,y)
#这里x和y同样是按钮左上角的坐
#标

python3 tkinter中如何设置根窗口标题文字字体及大小和根菜单文字字体及大小?

1、首先,打开Python环境,然后点击Options。
2、然后,我们就能点击下拉菜单中的Settings。
3、此时,我们可以在这里看到我们的FontFace。
4、此刻,我们便可以在这里看到我们准备好的字体。
5、在预览窗口中看到特殊字符的效果。
6、还能在这里看到我们当前的文字的类型。

Python Tkinter之布局

tkinter是Python的标准GUI库,它是Python接口的TK GUI工具包的标准Python接口,采用模块化设计。这个模块包含了许多GUI控件,例如:按钮、标签、文本框和滚动条等。tkinter是跨平台的GUI库,适用于Windows、Mac OS X和Linux等操作系统。它还是Python中使用最广泛的GUI库。
tkinter的优缺点
优点:
①简单易学:尤其对于初学者,很容易入手,操作简单方便。
②跨平台性:无论是Windows、Linux还是MacOS,使用tkinter都可以轻松地进行跨平台应用开发。
③易于扩展:很容易让用户添加自己的模块,且提供了直接调用C语言开发的Tcl/Tk代码的接口。
④支持多线程编程:可以在GUI程序中实现多个线程,从而增强程序的交互性、实时性及用户体验。
缺点:
①界面设计单一:tkinter的默认界面并不是很美观,需要程序员进行美化操作。
②功能相对简单:虽然Tk是一个强大的GUI工具包,但它在功能上的扩展相对较少。
tkinter常用的组件
1、标签 Label
标签是一种显示文本的组件,适用于显示静态文本。
2、按钮 Button
按钮是一种用户可以与之交互的组件,当点击按钮时,它会触发一个事件。
3、文本框 Entry
文本框是一种用户可用于输入一行文本输入的组件。
4、列表框 Listbox
列表框是一个组件,可以显示一个或多个列表项。每个列表项都可以用字符串表示。
5、滚动条 Scrollbar
当框架中的内容超出框架本身的大小时,可以使用滚动条来滚动内容。
1.简介。

Tkinter是Python唯一自带的GUI工具包,它背后使用的Tk组件库是开源世界中公认的标准。

Tkinter对于图形界面的布局管理有三大类:pack、grid、place

Pack()方法提供了选项来布局组件在界面中的位置,选项有:side、expand、fill、等

Grid()方法是采用行列来确定组件在界面中的位置,row是行号,column是列号。

Place()方法是通过组件在界面中的横纵坐标来固定位置。

2.分别使用pack和grid来布局同一组件。

程序如下:

information=['Name','Gender','Age']

def pack(parent):

entries1 = []

for i in information:

row=Frame(parent)

row.pack()

lab1=Label(row,text=i,relief=RAISED,width=7,padx=5,pady=5)

lab1.pack(side=LEFT)

ent1=Entry(row,relief=SUNKEN,width=30)

ent1.pack(side=LEFT,ipadx=5,ipady=5)

entries1.append(ent1)

def print1():

print([ent.get() for ent in entries1])

Button(parent,text='提交',command=print1).pack()

def grid(parent):

row=1

entries2=[]

for i in information:

lab2=Label(parent,text=i,width=7,relief=RAISED,padx=5,pady=5)

ent2=Entry(parent,width=30,relief=SUNKEN)

lab2.grid(row=row,column=0)

ent2.grid(row=row,column=1,ipadx=5,ipady=5)

row +=1

entries2.append(ent2)

def print2():

print([ent.get() for ent in entries2 ])

Button(parent,text='提交',command=print2).grid(columnspan=2)

frm1=Frame(root,bd=5,relief=RAISED)

frm1.pack()

Label(frm1,text='pack').pack()

pack(frm1)

frm2=Frame(root,bd=5,relief=RAISED)

Label(frm2,text='grid').grid(columnspan=2)

frm2.pack()

grid(frm2)

运行结果如下:

3.总结。

从运行结果界面上看两种布局的效果差不多,但通过程序可以看到,这个类似表格的界面使用pack布局的话要是两个组件布置在同一行中要使用一个容器把组件先绑定到一起来。而grid布局在这里就显得比pack方便多了,直接定义各组件在父组件中的行与列就行了。所以通过上面的比较可以得出,如果界面要求是表格类型的那么就使用grid来对组件进行布局会方便很多。

如何用python做ui界面tkinter

import time
import tkinter as tk
class Window:
def __init__(self, title='nms', width=300, height=120, staFunc=bool, stoFunc=bool):
self.w = width
self.h = height
self.stat = True
self.staFunc = staFunc
self.stoFunc = stoFunc
self.staIco = None
self.stoIco = None
self.root = tk.Tk(className=title)
def center(self):
ws = self.root.winfo_screenwidth()
hs = self.root.winfo_screenheight()
x = int( (ws/2) - (self.w/2) )
y = int( (hs/2) - (self.h/2) )
self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y))
def packBtn(self):
self.btnSer = tk.Button(self.root, command=self.event, width=15, height=3)
self.btnSer.pack(padx=20, side='left')
btnQuit = tk.Button(self.root, text='关闭窗口', command=self.root.quit, width=15, height=3)
btnQuit.pack(padx=20, side='right')
def event(self):
self.btnSer['state'] = 'disabled'
if self.stat:
if self.stoFunc():
self.btnSer['text'] = '启动服务'
self.stat = False
self.root.iconbitmap(self.stoIco)
else:
if self.staFunc():
self.btnSer['text'] = '停止服务'
self.stat = True
self.root.iconbitmap(self.staIco)
self.btnSer['state'] = 'active'
def loop(self):
self.root.resizable(False, False) #禁止修改窗口大小
self.packBtn()
self.center() #窗口居中
self.event()
self.root.mainloop()

阅读更多 >>>  python+excel,python操作excel方法?

Python 中用 Tkinter GUI编程

可以使用sqlite,下面是使用方法。
导入Python SQLITE数据库模块
Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~
import sqlite3
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("create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE,nickname text NULL)")
上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。
2. 插入数据
请注意避免以下写法:
# Never do this -- insecure 会导致注入攻击
pid=200
c.execute("... where pid = '%s'" % pid)
正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。
for t in[(0,10,'abc','Yu'),(1,20,'cba','Xu')]:
cx.execute("insert into catalog values (?,?,?,?)", t)
简单的插入两行数据,不过需要提醒的是,只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作.
cx.commit()
3.查询
cu.execute("select * from catalog")
要提取查询到的数据,使用游标的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("update catalog set name='Boy' where id = 0")
In [13]: cx.commit()
注意,修改数据以后提交
5.删除
cu.execute("delete from catalog where id = 1")
cx.commit()
6.使用中文
请先确定你的IDE或者系统默认编码是utf-8,并且在中文前加上u
x=u'鱼'
cu.execute("update catalog set name=? where id = 0",x)
cu.execute("select * from catalog")
cu.fetchall()
[(0, 10, u'\u9c7c', u'Yu'), (1, 20, u'cba', u'Xu')]
如果要显示出中文字体,那需要依次打印出每个字符串
In [26]: for item in cu.fetchall():
....: for element in item:
....: print element,
....: print
....:
0 10 鱼 Yu
1 20 cba Xu
7.Row类型
Row提供了基于索引和基于名字大小写敏感的方式来访问列而几乎没有内存开销。 原文如下:
sqlite3.Row provides both index-based and case-insensitive name-based access to columns with almost no memory overhead. It will probably be better than your own custom dictionary-based approach or even a db_row based solution.
Row对象的详细介绍
class sqlite3.Row
A Row instance serves as a highly optimized row_factory for Connection objects. It tries to mimic a tuple in most of its features.
It supports mapping access by column name and index, iteration, representation, equality testing and len().
If two Row objects have exactly the same columns and their members are equal, they compare equal.
Changed in version 2.6: Added iteration and equality (hashability).
keys()
This method returns a tuple of column names. Immediately after a query, it is the first member of each tuple in Cursor.description.
New in version 2.6.
下面举例说明
In [30]: cx.row_factory = sqlite3.Row
In [31]: c = cx.cursor()
In [32]: c.execute('select * from catalog')
Out[32]:

阅读更多 >>>  直播用的什么语言编程

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

In [34]: type(r)

Out[34]:

In [35]: r

Out[35]:

In [36]: print r

(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]: for e in r:

....: print e,

....:

0 10 鱼 Yu

使用列的关键词查询

In [43]: r['id']

Out[43]: 0

In [44]: r['name']

Out[44]: u'\u9c7c'

python 用Tkinter.Text设置了文本框之后如何获取输入内容

1、打开eclipse开发工具,新建python文件;导入tkinter需要的包,设置窗口标题,如下图所示。
2、默认的窗口很小,这里设置窗口的宽度和高度,400x300。
3、在窗口中添加一个Entry组件,设置show属性为None,调用pack()方法添加到窗口中;执行这个文件,弹出一个窗口。
4、再次在窗口上添加一个Button按钮,文本内容为插入字符,设置宽度和高度。
5、,添加按钮点击事件,定义事件函数appendStr;获取Entry组件的值,赋值给Label(添加Label控件),结果出现了报错,Label控件没有insert属性。
6、Label控件改为Text文本框,再次执行这个文件;在Entry控件输入字符串,点击按钮之后相应的Text也会出现该字符串。
text.get()语句。
如下:
import tkinterimport tkinter as tkdef getstr(): if text.get() != '': words = text.get() label["text"] = wordsroot = tk.Tk()root.title('主窗口')root.geometry('500x500')root.wm_attributes('-topmost', 1)text = tk.Entry(root, borderwidth=1, width=40)text.grid(row=1, column=1)label = tkinter.Label(root, text="您好")label.grid(row=2, column=1)comand = tk.Button(root, text="获取", command=getstr, width=10, height=2)comand.grid(row=3, column=1)root.mainloop()
可以用 :
文本 = 文本框实例.get("第几行.第几个字", "第几行.第几个字")
第一个字符串是获取文本的起始位置,第二个是结束位置(为"end"表示到结尾)。
第几行从1开始记,第几个字从0开始。(例:("1.0", "end")表示从第一行第一个字到结尾。)
注意在创建文本框的时候不要把布局和创建命令放在一行,不然会一直返回None,导致报错。
1、首先打开python,输入:
#coding:utf-8
import urllib,urllib2
import Tkinter #导入TKinter模块
2、然后输入:ytm=Tkinter.Tk() #创建Tk对象
ytm.title("login") #设置窗口标题
ytm.geometry("300x300") #设置窗口尺寸
3、然后输入:
l1=Tkinter.Label(ytm,text="用户名") #标签
l1.pack() #指定包管理器放置组件
user_text=Tkinter.Entry() #创建文本框
4、然后输入:
user_text.pack()
def getuser():
user=user_text.get() #获取文本框内容
print user Tkinter.Button(ytm,text="登录",command=getuser).pack() #command绑定获取文本框内容方法ytm.mainloop() #进入主循环,就完成了。

网站数据信息

"python+tkinter教程,Python Tkinter之布局"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:python+tkinter教程,Python Tkinter之布局的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!