当前位置:首页 » 编程语言 » tkinterpython3

tkinterpython3

发布时间: 2023-06-10 08:35:46

‘壹’ 如何使用python3自带的tkinter生成气泡提示

可以参考这个:
fromtkinterimport*
fromtimeimporttime,localtime,strftime


classToolTip(Toplevel):
"""
.
,simplypassthewidgettothe
ToolTipconstructor
"""
def__init__(self,wdgt,msg=None,msgFunc=None,delay=1,follow=True):
"""
InitializetheToolTip

Arguments:
wdgt:
msg:
msgFunc:
delay:(maybefloat)
follow:IfTrue,theToolTipfollowsmotion,otherwisehides
"""
self.wdgt=wdgt
self.parent=self.wdgt.master#
Toplevel.__init__(self,self.parent,bg='black',padx=1,pady=1)#InitalisetheToplevel
self.withdraw()#Hideinitially
self.overrideredirect(True)#

self.msgVar=StringVar()#
ifmsg==None:
self.msgVar.set('Nomessageprovided')
else:
self.msgVar.set(msg)
self.msgFunc=msgFunc
self.delay=delay
self.follow=follow
self.visible=0
self.lastMotion=0
Message(self,textvariable=self.msgVar,bg='#FFFFDD',
aspect=1000).grid()#
self.wdgt.bind('<Enter>',self.spawn,'+')#Addbindingstothewidget.
self.wdgt.bind('<Leave>',self.hide,'+')
self.wdgt.bind('<Motion>',self.move,'+')

defspawn(self,event=None):
"""
SpawntheToolTip..


Arguments:
event:
"""
self.visible=1
self.after(int(self.delay*1000),self.show)#

defshow(self):
"""

"""
ifself.visible==1andtime()-self.lastMotion>self.delay:
self.visible=2
ifself.visible==2:
self.deiconify()

defmove(self,event):
"""
.

Arguments:
event:
"""
self.lastMotion=time()
ifself.follow==False:#Ifthefollowflagisnotset,
self.withdraw()
self.visible=1
self.geometry('+%i+%i'%(event.x_root+10,event.y_root+10))#
try:
self.msgVar.set(self.msgFunc())#Trytocallthemessagefunction.ails
except:
pass
self.after(int(self.delay*1000),self.show)

defhide(self,event=None):
"""
HidestheToolTip.

Arguments:
event:
"""
self.visible=0
self.withdraw()


defxrange2d(n,m):
"""


Arguments:
n:Thenumberofrowsinthe2drange
m:
Returns:
Ageneratorofvaluesina2drange
"""
return((i,j)foriinxrange(n)forjinxrange(m))


defrange2d(n,m):
"""


Arguments:
n:Thenumberofrowsinthe2drange
m:
Returns:
Alistofvaluesina2drange
"""
return[(i,j)foriinrange(n)forjinrange(m)]


defprint_time():
"""
:
HH:MM:SS.00
"""
t=time()
timeString='time='
timeString+=strftime('%H:%M:',localtime(t))
timeString+='%.2f'%(t%60,)
returntimeString

defmain():
root=Tk()
btnList=[]
for(i,j)inrange2d(6,4):
text='delay=%i '%i
delay=i
ifj>=2:
follow=True
text+='+follow '
else:
follow=False
text+='-follow '
ifj%2==0:
msg=None
msgFunc=print_time
text+='MessageFunction'
else:
msg='Buttonat%s'%str((i,j))
msgFunc=None
text+='StaticMessage'
btnList.append(Button(root,text=text))
ToolTip(btnList[-1],msg=msg,msgFunc=msgFunc,follow=follow,delay=delay)
btnList[-1].grid(row=i,column=j,sticky=N+S+E+W)
root.mainloop()

if__name__=='__main__':
main()

‘贰’ Python3 tkinter,怎么在Label/Canvas中插入图片

tkinter基于tcl/tk,只支持gif、png和bitmap位图,其余图片格式需要通过第三方库PIL(pillow)提供的ImageTk转化为tcl/tk能够接受的图片数据。

‘叁’ python3的tkinter代码,为什么会报错

1、可能是数据类型错误,int()接收到一个字符型。或是接收到的是一个浮点型。浮点型需要先转换。
比如int(10.0)需要改成int(float(10.0))。
2、可能是代码写错了,比如少打了个引号

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:972
python中的init方法 发布:2025-10-20 08:17:33 浏览:681
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:833
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:741
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1081
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:312
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:192
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:879
python股票数据获取 发布:2025-10-20 07:39:44 浏览:837