pythontkinter大小
① python tkinter grid布局显示问题求助
什么时候使用Grid管理器
grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。
当你设计对话框的时候,grid布局管理器是一个非常方便的工具。如果你之前使用pack进行布局的话,你会被使用grid后的简洁而震惊。与适应很多frame来让pack工作不同,在大多数情况下,你只需要将所有控件放置到容器中,然后使用grid将它们布局到任何你想要布局的地方。
参考下面这个例子:
使用pack进行布局的话,你不得不使用一些额外的frame控件,而且还需要花费一些功夫让他们变得好看。如果你使用grid的话,你只需要对每个控件使用grid,所有的东西都会以合适的方式显示。
注意:不要试图在一个主窗口中混合使用pack和grid。
使用grid进行布局管理非常容易。只需要创建控件,然后使用grid方法去告诉布局管理器在合适的行和列去显示它们。你不用事先指定每个网格的大小,布局管理器会自动根据里面的控件进行调节。
from Tkinter import *
master = Tk()
Label(master, text="First").grid(row=0)
Label(master, text="Second").grid(row=1)
e1 = Entry(master)
e2 = Entry(master)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
mainloop()
运行如下图所示:
label1占据0行0列,label2占据1行0列,entry1占据0行1列,entry2占据1行1列。
注意:1.在使用grid方法时,如果不指定column参数,则默认从0开始。
2.没有被使用的行和列号将被忽略,在上面的例子中如果使用10行和20行,则运行效果是一样的。
使用sticky参数
默认的空间会在网格中居中显示。你可以使用sticky选项去指定对齐方式,可以选择的值有:N/S/E/W,分别代表上/下/左/右。如果你想让label靠左显示,你可以设置stricky的值为W。
from Tkinter import *
master = Tk()
Label(master, text="First").grid(row=0, sticky=W)
Label(master, text="Second").grid(row=1, sticky=w)
e1 = Entry(master)
e2 = Entry(master)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
mainloop()
运行效果如下图:
你同样可以指定控件跨越一个或者多个网格。columnspan选项可以指定控件跨越多列显示,而rowspan选项同样可以指定控件跨越多行显示。
下面的代码创建了我们最初演示的示意图:
from Tkinter import *
master = Tk()
var = IntVar()
Label(master, text="First").grid(sticky=E)
Label(master, text="Second").grid(sticky=E)
e1 = Entry(master)
e2 = Entry(master)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
checkbutton = Checkbutton(master, text='Preserve aspect', variable=var)
checkbutton.grid(columnspan=2, sticky=W)
photo = PhotoImage(file='2qq.gif')
label = Label(image=photo)
label.image = photo
label.grid(row=0, column=2, columnspan=2, rowspan=2, sticky=W+E+N+S, padx=5, pady=5)
button1 = Button(master, text='Zoom in')
button1.grid(row=2, column=2)
button2 = Button(master, text='Zoom out')
button2.grid(row=2, column=3)
mainloop()
运行效果如下图:
在这段代码中,有一些细节需要注意:
1. 我们没有为左边的两个label控件指定具体的位置,在这种情况下,column将会从0开始,而row将会从第一个没有使用的值开始。
2. 我们队checkbutton设置了columnspan参数,所以它会显示在第二行,并占据第0和1列。
3. 图像label占用了2行2列,而最后的两个button都只占用了1列。
望采纳
② 怎样调整python图形界面的大小
Python有自己内置的标准GUI库--Tkinter,只要安装好Python就可以调用。今天学习到了图形界面设计的问题,刚开始就卡住了。为啥
呢?就是用geometry(size)设置窗口尺寸大小,如800X600,“X”从哪里来成了问题。首先想到,这是个乘号,但是在程序中没有插
入特殊符号这一说啊。所以,插入特殊符号的方法肯定不行了。然后我心血来潮,从word的公式里复制了一个乘号过来(我也是服了我
自己了),运行程序,可想而知,报错没商量。看来求助外面是没用了。必须在Python内部解决,好,接下来就试了大写的“X”,oh
my god!继续报错。莫非是不能用字母代替?我竟然在这里打住了!其实再走一步就成功了!那就是试试小x。有的时候,路是被自己堵
住的。下面就通过书中的简单程序走一下这个简单的尺寸设置问题。
一、默认大小尺寸显示
二、设置尺寸大小为800x600
这样就实现了尺寸大小的调整。
更多技术请关注Python视频教程。
③ python濡备綍鐢ㄥ儚绱犺勫畾tkinter妯″潡閲宭abel鎴朾utton镄勫ぇ灏
闇瑕佹寚瀹歩mage鎴栬卋itmap灞炴э纴铹跺悗鍐崭娇鐢╳idth, height𨱒ユ带鍒躲
榛樿ょ殑button鏄痶ext绫诲瀷, width, heigth琛ㄧず瀛楃︿釜鏁板拰琛屾暟锛屾寚瀹氶偅浜涘悗锛屾剰涔夊氨鍙樻垚镀忕礌銆
渚嫔傦细
import Tkinter
root = Tkinter.Tk()
b1 = Tkinter.Button(root, bitmap="gray50", width=10, height=10)
b1.pack()
root.mainloop()
镓╁𪾢璧勬枡锛
python鍙傝冨嚱鏁
long([x[, base]]) 灏嗕竴涓瀛楃﹁浆鎹涓簂ong绫诲瀷
pow(x, y[, z]) 杩斿洖x镄剏娆″箓
range([start], stop[, step]) 浜х敓涓涓搴忓垪锛岄粯璁や粠0寮濮
round(x[, n]) 锲涜垗浜斿叆
sum(iterable[, start]) 瀵归泦钖堟眰鍜
oct(x)灏嗕竴涓鏁板瓧杞鍖栦负8杩涘埗
hex(x)灏嗘暣鏁皒杞鎹涓16杩涘埗瀛楃︿覆
chr(i)杩斿洖鏁存暟i瀵瑰簲镄𪞝SCII瀛楃
鍙傝冭祫鏂欐潵婧愶细锏惧害锏剧-Python 锛堣$畻链虹▼搴忚捐¤瑷锛
④ python tkinter教程
python tkinter教程,一起来看看吧:
Tkinter是Python的标准GUI库。Python使用Tkinter可以快速的创建GUI应用程序。由于 Tkinter 是内置到python的安装包中,只要安装好Python之后就能import Tkinter库,而且IDLE也是用Tkinter编写而成,对于简单的图形界面Tkinter还是能应付自如。
使用
导入
import tkinter
注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。
创建一个GUI程序
1、导入 Tkinter 模块
2、创建控件
3、指定这个控件的 master, 即这个控件属于哪一个
4、告诉 GM(geometry manager) 有一个控件产生了。
#!/usr/bin/python3 import tkinter top = tkinter.Tk() # 进入消息循环 top.mainloop()
窗口主体框架
每一个 tkinter 应用的主体框架都可以包含下面这部分. 定义 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来.
import tkinter as tk window = tk.Tk() window.title('my window') window.geometry('500x500') #注意:这里的乘是×不是* # 这里是窗口的内容 window.mainloop()
窗口内容
Label & Button 标签和按钮
这次我们会建立一个用来描述的标签 tk.Label, 比如:
import tkinter as tk #创建窗口 window=tk.Tk() window.title('Mywindow')#窗口的标题 window.geometry('200x100')#窗口的大小 #定义一个lable l = tk.Label(window, text='Hi! this is TK!', # 标签的文字 bg='green', # 标签背景颜色 font=('Arial', 12), # 字体和字体大小 width=15, height=2 # 标签长宽(以字符长度计算) ) l.pack() # 固定窗口位置 window.mainloop()