tkinter控件

1、tkinter窗口

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')
window.resizable(width=False, height=False)  #窗口不可改变大小
#window.state('zoomed')    #Win系统窗口的最大化
#window.attributes('-zoomed', True)     #Linux系统窗口的最大化
window.mainloop()

2、Label(标签)

w = Label(master, option=value,...)

master:框架的父容器
option:可选项,该标签可设置的属性
https://www.runoob.com/python/python-tk-label.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

l= tk.Label(window, text='....', bg='green', front=('Arial', 12), width=15, height=2)
l.pack()
l.config(text='~~~')    #改变参数值

window.mainloop()

width、height表示标签框的大小

3、Button(按钮)

w = Button(master, option=value,...)

https://www.runoob.com/python/python-tk-button.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

l= tk.Label(window, text='....', bg='green', front=('Arial', 12), width=15, height=2)
l.pack()

def hit_me():
	...

b= tk.Button(window, text='....', width=15, height=2,command=hit_me)
b.pack()

window.mainloop()

4、Entry和Text

w1 = Entry(master, option=value,...)
w2 = Text(master, option=value,...)

https://www.runoob.com/python/python-tkinter-entry.html
https://blog.csdn.net/qq_41556318/article/details/85112829

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

e = tk.Entry(window, show='*')  #以*显示输入内容
e.pack()

t = tk.Text(window,height=2)
t.pack()
t.insert('end',e.get())
t.insert('insert',e.get())   #'insert'为光标指定的插入位置,也可指定某行某列

window.mainloop()

5、Listbox(列表控件)

w = Listbox(master, option=value, ... )

https://www.cnblogs.com/ronyjay/p/13267495.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

var = tk.StringVar()
var.set((11,22,33))
lb = tk.Listbox(window,listvariable=var)
lb.insert('end','first' )  #同上面的.insert
lb.detect('end')
lb.pack()

value = lb.get(lb.curselection())   #获得当前光标所指位置的值   

window.mainloop()

5、Radiobutton(选择按钮)

w = Radiobutton(master, option=value, ... )

https://www.py.cn/manual/python-tkinter-radiobutton.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

def print_s():
	...

var = tk.StringVar()
rb1 = tk.Radiobutton(window,text='Option A',variable=var,value='A',command=print_s)   #var被赋值为A
rb1.pack()
rb2 = tk.Radiobutton(window,text='Option B',variable=var,value='B',command=print_s)
rb2.pack()   

window.mainloop()

6、Scale(尺度)

w = Scale(master, option=value, ... )

http://www.ryxxff.com/15817.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

def print_s(v):    #默认传入了一个值,scale标注的值
	...
s = tk.Scale(window,label='...',from=5,to=11,orient=tk.HORIZONTAL,length=200,showvalue=0,tickinterval=3,resolution=0.01,command=print_s)   #length表像素的长度
s.pack()

window.mainloop()

7、Checkbutton(勾选项)

可选多个值,Radiobutton为单选

w = Checkbutton(master, option=value, ... )

https://www.runoob.com/python/python-tk-checkbutton.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

def print_s():
	...

var1 = tk.StringVar()
var2 = tk.StringVar()
cb1 = tk.Checkbutton(window,text='Option A',variable=var1,onvalue=1,offvalue=0,command=print_s)    #onvalue和offvalue为给var1赋值
cb1.pack()
cb2 = tk.Checkbutton(window,text='Option B',variable=var2,onvalue=1,offvalue=0,command=print_s)
cb2.pack()   

window.mainloop()

8、Canvas(画布)

w = Canvas(master, option=value, ... )

https://www.runoob.com/python/python-tk-canvas.html

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

canvas = tk.Canvas(window,bg='blue',height=100,width=200)
image_file = tk.PhotoImage(file='..gif')    #.gif文件
image = canvas.create_image(0,0,anchor='nw',image=image_file)   #根据anchor定的图片点放在(0,0)点
x0,y0,x1,y1 = 50,50,80,80
line = canvas.create_line(x0,y0,x1,y1)
oval = canvas.create_oval(x0,y0,x1,y1,fill='red')   #(x0,y0)和(x1,y1)做矩形,在矩形中画圆
arc = canvas.create_arc(x0+30,y0+30,x1+30,y1+30,start=0,extent=180)   #同画圆
rect = canvas.create_rectangle(100,30,130,60)
canvas.pack()

def moveit():
	canvas.move(rect,0,2)

b = tk.Button(window,text='move',command=moveit).pack()
 

window.mainloop()

9、Menubar(菜单)

w = Menubutton(master, option, ... )

https://www.bbsmax.com/A/gGdXgMQG54/

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

def do_job():
	global counter
	l.config(text='do'+str(counter))
	counter+=1

l = tk.Label(window,text='',bg='yellow'
l.pack()

menubar = tk.Menu(window)
filemenu = tk.Menu(menubar,tearoff=0)
menubar.add_cascade(label='File',menu=filemenu)
filemenu.add_command(label='new',command=do_job)
filemenu.add_command(label='Open',command=do_job)
filemenu.add_command(label='Save',command=do_job)
filemenu.add_separator()
filemenu.add_command(label='Exit',command=window.quit)

submenu = tk.Menu(filemenu,tearoff=0)
filemenu.add_cascade(label='Import',menu=submenu,underline=0)
submenu.add_command(label='Submenu1',command=do_job)

editmenu = tk.Menu(menubar,tearoff=0)
menubar.add_cascade(label='Edit',menu=editmenu)
editmenu.add_command(label='Cut',command=do_job)
editmenu.add_command(label='Copy',command=do_job)
editmenu.add_command(label='Paste',command=do_job)

window.config(menu=menubar)

window.mainloop()

10、Frame(框架)

https://blog.csdn.net/qq_41556318/article/details/85108440

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

tk.Label(window,text='on the window').pack()

frm = tk.Frame(window)
frm.pack()
frm_left = tk.Frame(frm)
frm_right = tk.Frame(frm)
frm_left.pack(side='left')
frm_right.pack(side='right')

tk.Label(frm_left,text='on the frm_left_1').pack()
tk.Label(frm_left,text='on the frm_left_2').pack()
tk.Label(frm_right,text='on the frm_right').pack()

window.mainloop()

11、messagebox(消息窗口)

https://www.cnblogs.com/progor/p/8506513.html

import tkinter as tk
#from tkinter import messagebox

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

def hit_me():
	#tk.messagebox.showinfo(title='Hi',message='...')
	#tk.messagebox.showwarning(title='Hi',message='...')
	#tk.messagebox.showerror(title='Hi',message='...')
	#tk.messagebox.askquestion(title='Hi',message='...')    #return 'true' or 'false'
	#tk.messagebox.askyesno(title='Hi',message='...')    #return 'true' or 'false'
	tk.messagebox.askretrycancel(title='Hi',message='...')    #return 'true' or 'false'
	#tk.messagebox.askokcancel(title='Hi',message='...')    #return 'true' or 'false'

tk.Button(window,text='...',command=hit_me).pack()

window.mainloop()

12、pack(),grid(),place()(放置位置)

import tkinter as tk
#from tkinter import messagebox

window = tk.Tk()
window.title('my window')
window.geometry('1400x800')

#tk.Label(window,text='1').pack(side='top')    #'top','bottom','left','right'

#for i in range(4):
#	for j in range(3):
#		tk.Label(window,text='1').grid(row=i,column=j,padx=10,pady=10)

tk.Label(window,text='1').place(x=10,y=100,anchor='nw')

window.mainloop()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值