tk不能成为顶级高手

uxh89sit  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(342)

类.py

  1. from tkinter import *
  2. BGCL = '#000000'
  3. CANCELCL = '#800000'
  4. CANCELHOVCL = '#400000'
  5. INFOCL = '#000080'
  6. INFOHOVCL = '#000040'
  7. BARCL = '#004000'
  8. STROKECL = '#00c000'
  9. class FantomForm(Tk):
  10. def __init__(self):
  11. Tk.__init__(self)
  12. self.withdraw()
  13. class MainForm(Tk):
  14. def __init__(self):
  15. Tk.__init__(self)
  16. self['bg'] = BGCL
  17. self.overrideredirect(True)
  18. self.bar = Frame(self,bg = BARCL)
  19. self.bar.place(x = 0 ,y = 0,relwidth = 1,height = 24)
  20. self.closebtn = Button(self,bg = CANCELCL,fg = BGCL,relief = FLAT,command = self.Exit,bd=0,activebackground = BGCL)
  21. #print(self.winfo_reqwidth())
  22. self.closebtn.place(width =24,height = 24,x = self.winfo_reqwidth()-24)
  23. self.bar.bind("<ButtonPress-1>", self.StartMove)
  24. self.bar.bind("<ButtonRelease-1>", self.StopMove)
  25. self.bar.bind("<B1-Motion>", self.OnMotion)
  26. self.closebtn.bind("<Enter>",self.__closebtne)
  27. self.closebtn.bind("<Leave>",self.__closebtnl)
  28. def __closebtne(self,event = None):
  29. self.closebtn['bg'] = CANCELHOVCL
  30. def __closebtnl(self,event = None):
  31. self.closebtn['bg'] = CANCELCL
  32. def StartMove(self, event = None):
  33. self.dragx = event.x
  34. self.dragy = event.y
  35. def StopMove(self, event = None):
  36. self.dragx = None
  37. self.dragy = None
  38. def OnMotion(self, event = None):
  39. deltax = event.x - self.dragx
  40. deltay = event.y - self.dragy
  41. x = self.winfo_x() + deltax
  42. y = self.winfo_y() + deltay
  43. self.geometry("+%s+%s" % (x, y))
  44. def Exit(self,event = None):
  45. self.destroy()
  46. class Form(Toplevel):
  47. def __init__(self,master = None):
  48. Toplevel.__init__(self,master)
  49. self['bg'] = BGCL
  50. self.overrideredirect(True)
  51. self.bar = Frame(self,bg = BARCL)
  52. self.bar.place(x = 0 ,y = 0,relwidth = 1,height = 24)
  53. self.closebtn = Button(self,bg = CANCELCL,fg = BGCL,relief = FLAT,command = self.Exit,bd=0,activebackground = BGCL)
  54. #print(self.winfo_reqwidth())
  55. self.closebtn.place(width =24,height = 24,x = self.winfo_reqwidth()-24)
  56. self.bar.bind("<ButtonPress-1>", self.StartMove)
  57. self.bar.bind("<ButtonRelease-1>", self.StopMove)
  58. self.bar.bind("<B1-Motion>", self.OnMotion)
  59. self.closebtn.bind("<Enter>",self.__closebtne)
  60. self.closebtn.bind("<Leave>",self.__closebtnl)
  61. def __closebtne(self,event = None):
  62. self.closebtn['bg'] = CANCELHOVCL
  63. def __closebtnl(self,event = None):
  64. self.closebtn['bg'] = CANCELCL
  65. def StartMove(self, event = None):
  66. self.dragx = event.x
  67. self.dragy = event.y
  68. def StopMove(self, event = None):
  69. self.dragx = None
  70. self.dragy = None
  71. def OnMotion(self, event = None):
  72. deltax = event.x - self.dragx
  73. deltay = event.y - self.dragy
  74. x = self.winfo_x() + deltax
  75. y = self.winfo_y() + deltay
  76. self.geometry("+%s+%s" % (x, y))
  77. def Exit(self,event = None):
  78. self.destroy()

main.py

  1. from Classes import *
  2. Form0 = MainForm()
  3. Form1 = Form(MainForm)
  4. Form0.mainloop()
  5. Form1.mainloop()

错误日志
mainform是基于tk的类form是基于toplevel的类我不喜欢默认的windows窗体,所以我自己做了。非常奇怪的错误。我做错了什么?我写这篇文章是因为我不喜欢简短的描述你来自哪里?你喜欢蛋糕吗。。。需要更多的细节。我是费德卡,我来自寒冷、寒冷的俄罗斯,但现在是40摄氏度的好天气,可以计划一场新的战争

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题