1. 标签的制作

在这里插入import tkinter as tk  #模块的导入
window=tk.Tk() #实例化一个窗口模块
window.title('这是我的控制台')#进行窗口的命名
window.geometry('300x400')#进行窗口大小的设定中间哪个是x不是乘号
la=tk.Label(window,text='这是window下的标签',bg='red',font=('宋体',6),height=10,width=10)#设置标签
la.pack()#进行标签的放置
window.mainloop()#进行不停的刷新,保证一直在window上显示代码片
``结果为`
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200424145813479.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09ZTUtfU0s=,size_16,color_FFFFFF,t_70#pic_center)

# 2. button的设计与制作:

```python
在这里插入import tkinter as tk  #模块的导入
window=tk.Tk() #实例化一个窗口模块
window.title('这是我的控制台')#进行窗口的命名
window.geometry('300x400')#进行窗口大小的设定中间哪个是x不是乘号
var=tk.StringVar()#声明一个字符串变量
la=tk.Label(window,textvariable=var,height=5,width=10)#设置标签
la.pack()#进行标签的放置
flag=False  #定义一个全局变量
def hit_me():
    global flag  #声明一个全局变量
    if flag==False:  #必须加上false和true判断否则结果显示不出来
        var.set('你点击了我')#给字符串赋值
        flag=True
    else:
        var.set('')
        flag=False
b1=tk.Button(window,text='点我',height=5,width=15,command=hit_me)#设计一个button按钮
b1.pack()
window.mainloop()#进行不停的刷新,保证一直在window上显示代码片

python手动关闭tkinter窗口后结束python程序运行_tkinter

3.设定一个输入文本框,在show中可以设定输入的模式如果想文本显示就设定为None,如果想要设定为密码型的数据:show就设定为*,创建text时height设置的值为文本的行数,在进行文本的插入时,可以查入的位置有开始(start)、光标位置(insert)、固定坐标x.y

window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='这是一个标签', height=5, width=10)  # 设置标签
la.pack()  # 进行标签的放置
e = tk.Entry(window, show=None)#设定一个文本输入框不需要设置文本框的大小
e.pack()
def hit_me_cursor():
    var = e.get()
    t.insert('insert', var)
def hit_me_end():
    var = e.get()
    t.insert('end', var)
b1 = tk.Button(window, text='insert_cursor', height=5, width=15, command=hit_me_cursor)  # 设计一个button按钮
b1.pack()
b2 = tk.Button(window, text='insert_end', height=5, width=15, command=hit_me_end)  # 设计一个button按钮
b2.pack()
t = tk.Text(window, height=2)#设计一个text文本框
t.pack()
window.mainloop()  # 进行不停的刷新,保证一直在window上显示

![在这里插入图片描述]()

 4列表框的设定:
 

```python
在这里插入代import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, textvariable=var, height=5, width=10)  # 设置标签
la.pack()  # 进行标签的放置
def hit_me_cursor():
    var.set(b2.get(b2.curselection()))
var2=tk.StringVar()
var2.set((11,33,55,66))
b2=tk.Listbox(window,listvariable=var2)#制作一个列表盒
b2.pack()
b1 = tk.Button(window, text='insert_cursor', height=5, width=15, command=hit_me_cursor)  # 设计一个button按钮
b1.pack()
码片

python手动关闭tkinter窗口后结束python程序运行_实例化_02

  • 5.进行单项选择框的的制作:
在这里插import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
def print_section():
    la.config(text='你选择了'+var.get())#对标签里的属性进行修改 

r1=tk.Radiobutton(window,variable=var,text='python',value='A',command=print_section)
r1.pack()#进行单选框的设定
r2=tk.Radiobutton(window,variable=var,value='B',text='C++',command=print_section)
r2.pack()
r3=tk.Radiobutton(window,variable=var,value='C',text='易语言',command=print_section)
r3.pack()
window.mainloop()  # 进行不停的刷新,保证一直在window上显示
入代码片

python手动关闭tkinter窗口后结束python程序运行_python_03

  • 6.范围移动的设定:tickinterval设置显示距离的间距,resolution设置精确度,length设置像素数,orient设置横向或者纵向:
import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
def print_section(v):#要传如变量
    la.config(text='你移动了'+v)#对标签里的属性进行修改
s=tk.Scale(window,label='移动标尺',from_=3,to=10,orient=tk.HORIZONTAL,
           length=200,showvalue=1,tickinterval=7,resolution=0.01,command=print_section)
s.pack()
window.mainloop()  # 进行不停的刷新,保证一直在window上显示

结果如下:

python手动关闭tkinter窗口后结束python程序运行_窗口大小_04

-7.多选的盒子窗口:

import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
var=tk.IntVar()
var1=tk.IntVar()
def print_section():#要传如变量
   if (var.get()==1)&(var1.get()==0):
       la.config(text='我喜欢python课程')
   elif (var.get()==0)&(var1.get()==1):
       la.config(text='我喜欢C课程')
   elif (var.get()==0)&(var1.get()==0):
       la.config(text='我两个课程都不喜欢')
   else :
       la.config(text='我两个课程都喜欢')
c1=tk.Checkbutton(window,text='python',variable=var,onvalue=1,offvalue=0,command=print_section)
c1.pack()
c2=tk.Checkbutton(window,text='C++',variable=var1,onvalue=1,offvalue=0,command=print_section)
c2.pack()
window.mainloop()  # 进行不停的刷新,保证一直在window上显示

结果为

python手动关闭tkinter窗口后结束python程序运行_窗口大小_05

  • 7.菜单的制作:
import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
def do_job():
    la.config(text='进行了操作')
menuber=tk.Menu(window) #把总的菜单绑在图形上
filemenu=tk.Menu(menuber,tearoff=2) #将file绑在menu的下面
menuber.add_cascade(label='File',menu=filemenu)#给menu的哪个起名字
filemenu.add_command(label='New',command=do_job)#设定File下的所有命令
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=do_job)
editormenu=tk.Menu(menuber,tearoff=0)
menuber.add_cascade(label='File',menu=filemenu)
editormenu.add_command(label='New',command=do_job)
editormenu.add_command(label='Open',command=do_job)
editormenu.add_command(label='Save',command=do_job)
editormenu.add_separator()
editormenu.add_command(label='exit',command=do_job)
window.config(menu=menuber) #在图像界面进行显示
window.mainloop()  # 进行不停的刷新,保证一直在window上显示

python手动关闭tkinter窗口后结束python程序运行_python_06

  • 8在上面程序的基础上再加一个子列表:
import tkinter as tk  # 模块的导入
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
def do_job():
    la.config(text='进行了操作')
menuber=tk.Menu(window) #把总的菜单绑在图形上
filemenu=tk.Menu(menuber,tearoff=2) #将file绑在menu的下面
menuber.add_cascade(label='File',menu=filemenu)#给menu的哪个起名字
filemenu.add_command(label='New',command=do_job)#设定File下的所有命令
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=do_job)
editormenu=tk.Menu(menuber,tearoff=0)
menuber.add_cascade(label='File',menu=filemenu)
editormenu.add_command(label='New',command=do_job)
editormenu.add_command(label='Open',command=do_job)
editormenu.add_command(label='Save',command=do_job)
editormenu.add_separator()
editormenu.add_command(label='exit',command=do_job)
subnum=tk.Menu(filemenu,tearoff=0)
filemenu.add_cascade(label='Import',menu=subnum)
subnum.add_command(label='子标签',command=do_job)
window.config(menu=menuber) #在图像界面进行显示
window.mainloop()  # 进行不停的刷新,保证一直在window上显示

python手动关闭tkinter窗口后结束python程序运行_字符串_07


9.对话框的弹出:

在编写这个指令的时候一定要调入import tkinter.messagebox 否则程序会报错:

import tkinter as tk  # 模块的导入
import tkinter.messagebox
window = tk.Tk()  # 实例化一个窗口模块
window.title('这是我的控制台')  # 进行窗口的命名
window.geometry('300x400')  # 进行窗口大小的设定中间哪个是x不是乘号
var = tk.StringVar()  # 声明一个字符串变量
la = tk.Label(window, text='empty')  # 设置标签
la.pack()  # 进行标签的放置
def showinfo() :#显示正常信息
    tk.messagebox.showinfo(title='h1',message='jfin')
def showwaring() :#显示警告信息
    tk.messagebox.showwarning(title='h1',message='jfin')
def showerror() :#显示错误信息
    tk.messagebox.showerror(title='h1',message='jfin')
def askquestion() :#有返回值yesorno
    tk.messagebox.askquestion(title='h1',message='jfin')
def askyesno() :#有返回值有trueor false
    tk.messagebox.askyesno(title='h1',message='jfin')
def askokcancle() :#要传如变量
    tk.messagebox.askokcancle(title='h1',message='jfin')
b1=tk.Button(window,text='showinfo',height=1,width=30,command=showinfo).pack()
b2=tk.Button(window,text='showwaring',height=1,width=30,command=showwaring).pack()
b3=tk.Button(window,text='showerror',height=1,width=30,command=showerror).pack()
b4=tk.Button(window,text='askquestion',height=1,width=30,command=askquestion).pack()
b5=tk.Button(window,text='askyesno',height=1,width=30,command=askyesno).pack()
b6=tk.Button(window,text='askokcancle',height=1,width=30,command=askokcancle).pack()
window.mainloop()  # 进行不停的刷新,保证一直在window上显示
  1. 画布的制作:
window=tk.Tk()
window.title('canvos')
window.geometry('300x400')
cv=tk.Canvas(window,bg='blue',height=100,width=300)  #创建一个画布
x0,y0,x1,y1=20,20,70,70 #指定下面创建图形的位置
cv.create_line(x0,y0,x1,y1)#创建直线
cv.create_rectangle(x0,y0,x1,y1)#创建矩形
cv.create_oval(x0,y0,x1,y1,fill='red')#创建圆
cv.pack()
window.mainloop()on
在这里插入代码片

结果如下

python手动关闭tkinter窗口后结束python程序运行_窗口大小_08


tk图形界面的位置分布图如下:

python手动关闭tkinter窗口后结束python程序运行_tkinter_09

  1. tk中属性位置摆放功能设定:
    1.pack可以设置上(top)下(botton)左(left)右(right)
window=tk.Tk()
window.title('canvos')
window.geometry('300x400')
l1=tk.Label(window,text='top').pack(side='top') #放在最上面的中间位置
l1=tk.Label(window,text='bottom').pack(side='bottom')#放在最下面的中间位置
l1=tk.Label(window,text='left').pack(side='left')#放在最左面的中间位置
l1=tk.Label(window,text='right').pack(side='right')#放在最右面的中间位置
window.mainloop()
在这里插入代码片

python手动关闭tkinter窗口后结束python程序运行_tkinter_10


2.第二种属性放置的方法:grim:它的放置方法走的是表格形式:

import  tkinter as tk
window=tk.Tk()
window.title('canvos')
window.geometry('300x400')
for i in range(6):
    for m in range(4):
        tk.Label(window,text=1).grid(row=i,column=m,padx=20,pady=10)#px设置每个值之间的距离
window.mainloop()

python手动关闭tkinter窗口后结束python程序运行_实例化_11


3.使用place这个可以使用坐标定位进行属性位置的放置:

window=tk.Tk()
window.title('canvos')
window.geometry('300x400')
l1=tk.Label(window,text='这是place用法放置的地方')
l1.place(x=100,y=30,anchor='nw')
window.mainloop()on
在这里插入代码片

python手动关闭tkinter窗口后结束python程序运行_python_12