目录
- 一、基础内容
- 二、渐变窗口与计时器
- 三、简单的布局标签文本框按钮
- 四、摄氏度华氏度
- 五、随机弹出数字(随机点名、抽奖)
- 六、几行几列五子棋画布
一、基础内容
import tkinter as tk
from PIL import Image,ImageTk
def my():
pwin.destroy()
win.deiconify()
win = tk.Tk()
#win.geometry('320x240+100+50') #长320宽240 右100,下50
win['width']=320 #可以用win.keys()查看哪些可以这样写
win['height']=240
win.title('tkinter图形化专题学习')
#win.iconbitmap('my.ico')
img=ImageTk.PhotoImage(image=Image.open('1.gif','r'))
win.iconphoto(False,img)
#win.withdraw()#临时退出
#win.deiconify()#恢复
#win.iconify()#最小化
#win.destroy()#关掉
#help(win.state)
"""
win.state('iconic')
win.state('normal')
win.state('zommed')
win.state('zoomed')
win.state('withdraw')
"""
#win.attributes('-alpha',0.5) #设置透明度
#win.attributes('-toolwindow',1)#没有最大化最小化按钮
#win.attributes('-toolwindow',0)#常规窗口
#win.attributes('-topmost',1) #置顶
win.withdraw() #隐藏原窗口
pwin=tk.Toplevel(win) #新建弹窗
pwin.title('弹窗')
pwin.protocol('WM_DELETE_WINDOW',my)
win.mainloop()
二、渐变窗口与计时器
#计时器
import tkinter as tk
import time
def my():
global x
if x >1:
return
win.title('计时器:{:.2f}'.format(x))
win.attributes('-alpha', x)
x += 0.01
win.after(200,my) #100ms
win = tk.Tk()
win.title("计时器")
win['bg']= 'lightblue' #用win.keys()查看
win.geometry('300x300')
win.resizable(0,0) #不可变窗口大小
x = 0.01
win.attributes('-alpha', x)
win.after(200,my)
win.mainloop()
三、简单的布局标签文本框按钮
3.1 布局
import tkinter as tk
win=tk.Tk()
win.title("布局")
win.geometry('320x240')
#win.resizable(0,0)
#定义
lbl=tk.Label(win,text="请输入")
txt=tk.Entry(win)
btn=tk.Button(win,text="确定")
#布局 方法一pack打包式放置 方法二grid表格式放置 方法三place任意放置
"""
lbl.pack(side='left' ,padx=(10,0))
txt.pack(side='left') #txt.pack_info()查看pack的参数
btn.pack(side='left', padx='10')
"""
"""
lbl.grid(row=0,column=0,padx=(50,10),pady=10) #lbl.grid_info()查看grid的参数
txt.grid(row=0,column=1)
btn.grid(row=1,column=0,columnspan=2,padx=(50,0),pady=10, sticky='we')
"""
lbl.place(relx=0.1,rely=0.2)
txt.place(relx=0.3,rely=0.15)
btn.place(relx=0.5,rely=0.25)
#win.mainloop()
3.2 布局
import tkinter as tk
#建窗口
win=tk.Tk()
win.title('布局')
#建组件
frm=tk.Frame(win) #框架
#定义
lbl=tk.Label(frm,text='请输入')
txt=tk.Entry(frm)
btn=tk.Button(win,text='确定')
#布局
lbl.pack(side='left', padx=10, pady=10)
txt.pack(side='left', padx=10, pady=10)
frm.pack()
btn.pack(fill='x')
win.mainloop()
四、摄氏度华氏度
import tkinter as tk
def myfun(e):
#def myfun():
try:
a=int(entry1.get())
b=int(entry2.get())
lbx.delete(0,'end')
for i in range(a,b+1):
f=i*9/5+32
lbx.insert('end',' {} {}'.format(i,f))
except:
pass
win=tk.Tk()
win.title('温度转换')
win.resizable(0,0) #大小不可更改
label1 = tk.Label(win, text='请输入第1个整数')
label2 = tk.Label(win, text='请输入第2个整数')
label3 = tk.Label(win, text='摄氏温度 华氏温度')
entry1 = tk.Entry(win)
entry2 = tk.Entry(win)
entry1.insert(0, '10')
entry2.insert(0, '15')
#btn=tk.Button(win, text='确定',command=myfun)
btn=tk.Label(win, text='确定',#把label变成按钮
relief='groove') #浮雕
btn.bind('<Button-1>', myfun) #用bing绑定 必须给函数参数
lbx=tk.Listbox(win)
#滚动条
scr=tk.Scrollbar(win)
scr['command']=lbx.yview
lbx['yscrollcommand']=scr.set
label1.grid(row=1, column=0)
label2.grid(row=2, column=0)
label3.grid(row=0, column=2)
entry1.grid(row=1, column=1)
entry2.grid(row=2, column=1)
btn.grid(row=3, column=1, sticky="ew")
lbx.grid(row=1, column=2, rowspan=3, padx=10, pady=10)
scr.grid(row=1, column=3, rowspan=3, sticky='ns')
#btn.key()找到可以设置的参数 或者btn.config()
win.mainloop()
五、随机弹出数字(随机点名、抽奖)
import tkinter as tk
import random
def myfun():
lst=list(range(100))
name=random.choice(lst)
lbl['text']=name
win.after(500,myfun)
win=tk.Tk()
win.title('抽奖程序')
lbl=tk.Label(win,text='***', width=6,font='-size 48')
btn=tk.Button(win,text='开始', font='-size 36', command=myfun)
lbl.grid(row=0,column=0,padx=10,pady=10)
btn.grid(row=0,column=1,padx=10,pady=10)
#win.mainloop()
六、几行几列五子棋画布
import tkinter as tk
win=tk.Tk()
win.title('五子棋')
win.geometry('800x600+64+32')
win.resizable(0,0)
#建画布
cav=tk.Canvas(win, width=600,height=600, bg='yellow')
rfm=tk.Frame(win,width=200,height=600, bg='lightyellow')
cav.pack(side='left')
rfm.pack(side='right')
#画线
for i in range(1,20):
x1, y1, x2, y2=30, i*30,19*30,i*30
cav.create_line(x1,y1,x2,y2)
cav.create_line(y1,x1,y2,x2)
相关推荐:
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
SEO优化与SEM广告:提升品牌曝光与流量的双重利器,ai接回头
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
ChatGPT显示无法加载网站是怎么回事?解决方法!,glow将军ai
企业如何借助SEO咨询实现精准流量引爆,助力业绩提升,立刻推广的旅游线下营销
seO经理是什么岗位,seo经理招聘 ,ai写作重复被查
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
seo要学会什么,seo要学多长时间 ,NTU AI 录取
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
ChatGPT画布打不开?如何解决这一常见问题?,Ai怎么储存为Ai格式在桌面
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
高效创作新时代AI文案速写工具,让创作更轻松
ChatGPT页面无法访问?解决方案,让你轻松摆脱困扰!,ai染发颜色
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
SEO监控:精准把握网站排名与优化成效的利器,湖南seo排名商家名单
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
ChatGPT不登录,如何畅享AI的智能服务?,手信ai
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
什么是SEO优化方案,seo的优化方案 ,ai emorobot
ChatGPT无法完全显示?你可能忽略了这些令人惊讶的细节!,朵朵ai绘画
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维
AI撰写大数据解决方案:开启智能数据时代的新篇章,ai头号公敌
GoogleGTP-智能时代的革命性突破,人工智能的新纪元,ai可以降论文ai率吗
seo营销方法是什么,seo营销模式 ,ai山海
AI一键生成原创文章,让创作更高效更轻松!
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
优化页面-提升用户体验与搜索引擎排名的关键,绍兴视频营销推广
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
SEO软优化:助力网站实现流量爆发的秘密武器,延平区网页seo
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
为什么说seo这么重要,seo重要吗 ,ai19920403
AI+写文章:开启智能创作新时代
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi