Python基础11—图形界面编程
一、弹出消息框
要编辑消息框,首先要导入tkinter的messagebox,导入方法:from tkinter.messagebox import *
①弹出提示消息框:showinfo(title='标题',message='内容')
②弹出警告消息框:showwarning(title='标题',message='内容')
③弹出错误消息框:showerror(title='标题',message='内容')
1 from tkinter.messagebox import * 2 showinfo(title='提示',message='welcome') 3 showwarning(title='提示',message='please input code') 4 showerror(title='提示',message='the code is false')
④弹出疑问消息框:askquestion(title='标题',message='内容'),弹出的消息框包含‘是’和‘否’按钮,返回相对应的字符串YES和NO值
也可以使用askyesnocacncel(title='标题',message='内容')和askyesno(title='标题',message='内容'),但这两个返回的是bool值,但不同的是前者还有个取消button,后者没有
使用askretrycancel(title='标题',message='内容')可以弹出带有‘重试’和‘取消’的按钮的疑问消息框,返回的是bool值
1 ret=askyesnocancel(title='Are you sure?',message='weclome') 2 if ret==True: 3 showinfo(title='提示',message='welcome') 4 elif ret==False: 5 showinfo(title='提示',message='False') 6 else: 7 showinfo(title='提示',message='取消')
1 ret=askyesno(title='Are you sure?',message='weclome') 2 if ret==True: 3 showinfo(title='提示',message='welcome') 4 if ret==False: 5 showinfo(title='提示',message='False')
1 ret=askretrycancel(title='Are you sure?',message='weclome') 2 if ret==True: 3 showinfo(title='提示',message='welcome') 4 if ret==False: 5 showinfo(title='提示',message='False')
二、创建Windows窗口
①导入Tkinter模块:from tkinter import *
②创建窗口:窗口对象=Tk()
③显示窗口:窗口对象.mainloop()
④改变标题:窗口对象.title(‘标题')
⑤设置窗口初始大小:窗口对象.geometry(‘size’),参数size:宽度x高度(中间的是字母x,不是乘号)
设置窗口最小大小:窗口对象.minsize(‘size’);设置窗口最大大小:窗口对象.maxsize(‘size’);参数size:宽度,高度
1 from tkinter import * 2 win=Tk() 3 win.title('mywindows') 4 win.geometry('800x600') 5 win.minsize(400,300) 6 win.maxsize(1440,900) 7 win.mainloop()
三、Label组件
①label组件主要用于在窗口中显示文本或者试图,创建方法为:
label对象=Label(主窗口,text=label组件显示的文本)
显示方法只要调动pack()方法即可
②显示图片:使用bitmap属即可性在label组件中显示位图,bitmap的取值如下表:
值 | 具体描述 |
error | 错误图标 |
hourglass | 沙漏图标 |
info | 信息图标 |
questhead | 疑问头像图标 |
question | 疑问图标 |
warning | 警告图标 |
gray12 | 灰度背景图标 |
gray25 | 灰度背景图标 |
gray50 | 灰度背景图标 |
gray75 | 灰度背景图标 |
③自定义图片:使用image和bm属性即可
④设置前、背景色:使用fg属性设置前景色,bg属性设置背景色,bg的取值为颜色单词的大写字符串
⑤其他常用属性:
属性 | 具体描述 |
width | 宽度 |
height | 高度 |
compound |
指定文本与图像如何在label上显示缺省值为Nnone,当指定image/bitmap时文本将会覆盖取值如下 left:图像居左;right:图像局右;top:图像居上;bottom:图像居下;center:文字覆盖在图像上 |
waplength | 指定多少单位后开始换行 |
justify | 指定多行的对齐方式 ,可以使用LEFT或RIGHT |
ahchor |
指定文本或图像在label 中的 e,垂直居中,水平居右 w,垂直居中,水平居左 n,垂直居上,水平居中 s,垂直居下,水平居中 ne,垂直居上,水平居右 se,垂直居下,水平居右 sw,垂直居下,水平居左 nw,垂直居上,水平居左 center垂直居中,水平居中 |
1 from tkinter import* 2 win=Tk() 3 win.title('mywindows') 4 lb=Label(win,bitmap='error') 5 lb.pack() 6 bm=PhotoImage(file='C:\\Users\\cai\\Desktop\\tp.png') 7 lb2=Label(win,image=bm) 8 lb2.bm=bm 9 lb2.pack() 10 lb3=Label(win,fg='RED',bg='BLUE',text='color') 11 lb3.pack() 12 win.mainloop()
四、Button组件
①用于在窗口中显示按钮,按钮上可以显示文字或者图像,创建语法如下;
Button 对象=Button(窗口对象,text=‘ ’,command=‘单击按钮所调用的’)
②属性
属性 | 具体说明 |
image、bm | 自定义Button显示图片 |
height | 高度 |
width | 宽度 |
bitmap | 指定按钮上个显示的位图 |
bd | 设置按钮边框大小 |
wraplength | 指定多少单位后换行,用于多行显示文本 |
bg | 背景色 |
fg | 前景色 |
state | 设置组件状态,取值:NORMAL(正常),ACTIVE(激活),DISABLED(禁用) |
compound | 与label一样 |