用户:
XiangQinxi(邦邦BON)查看:0 回复:2 评论:0 创建时间:2021-08-31T18:20:45
代码:
from tkinter import *
from tkinter import ttk, messagebox
class Program(object):
def __init__(self):
self.Window = Tk()
self.Window.title('Kats')
self.Window.geometry('1200x685')
self.Window.minsize(1200, 685)
self.Window.maxsize(1200, 685)
self.Window.update_idletasks()
self.Window.overrideredirect(True)
self.Move = IntVar(self.Window, value=0)
self.X = IntVar(self.Window, value=0)
self.Y = IntVar(self.Window, value=0)
def Style_Settings(self):
self.Window_BackGround_Style = ttk.Style()
self.Window_BackGround_Style.configure("BackGround.TFrame",
background="#2d2f2e")
self.Window_Menu_Style = ttk.Style()
self.Window_Menu_Style.configure("Menu.TFrame",
background="#006ddb",
borderwidth=2)
self.Window_Menu_Style.configure("Menu.TButton",
cursor="hand2",
background="#006ddb",
foreground="#48a4ff",
activebackground="#006ddb",
font="-family {Microsoft YaHei UI} -size 13")
self.SelectArea_Style = ttk.Style()
self.SelectArea_Style.configure("SelectArea.TFrame",
background="#373737")
self.SelectArea_Style.configure("SelectArea.TButton",
background="#373737",
foreground="#d6d6d6",
activebackground="#373737",
activeforeground="#d6d6d6")
self.OperationArea_Style = ttk.Style()
self.OperationArea_Style.configure("OperationArea.TFrame",
background="#3e3e3e")
self.OperationArea_Style.configure("HomePage.TFrame",
background="#535353")
self.OperationArea_Style.configure("HomePage.TLabel",
background="#7b7b7b",
foreground="#d2d2d2")
def Window_Settings(self):
self.Window_BackGround = ttk.Frame(self.Window, style="BackGround.TFrame")
def Window_Show(self):
self.Window_BackGround.place(x=0, y=0, width=1200, height=685)
def Menu_Settings(self):
self.Window_Menu = ttk.Frame(self.Window, cursor="crosshair", style="Menu.TFrame")
self.Window_Menu_Close = ttk.Button(self.Window_Menu, text="✖", cursor="hand2", style="Menu.TButton", command=self.Window.destroy)
def Menu_Show(self):
self.Window_Menu.place(x=0, y=0, width=1200, height=40)
self.Window_Menu_Close.place(x=1160, y=0, width=40, height=40)
def SelectArea_Settings(self):
self.Window_SelectArea = ttk.Frame(self.Window, style="SelectArea.TFrame")
self.Window_SelectArea_Home = ttk.Button(self.Window_SelectArea, cursor="hand2", text="首页", style="SelectArea.TButton", command=self.SelectHomePage)
def SelectArea_Show(self):
self.Window_SelectArea.place(x=0, y=40, width=160, height=喵5)
self.Window_SelectArea_Home.place(x=0, y=5, width=160, height=60)
def OperationArea_Settings(self):
self.Window_OperationArea = ttk.Frame(self.Window, style="OperationArea.TFrame")
self.Window_OperationArea_HomePage = ttk.Frame(self.Window_OperationArea, style="HomePage.TFrame")
self.Window_OperationArea_HomePage_HelloKats = ttk.Label(self.Window_OperationArea_HomePage, text="Hello,Kats", style="HomePage.TLabel", justify=CENTER)
def OperationArea_Show(self):
self.Window_OperationArea.place(x=160, y=40, width=1040, height=喵5)
def SelectHomePage(self):
self.Window_OperationArea_HomePage.place(x=10, y=10, width=1020, height=625)
self.Window_OperationArea_HomePage_HelloKats.place(x=10, y=10, width=1005, height=55)
def OnLeftButtonDown(self, event):
self.X.set(event.x)
self.Y.set(event.y)
self.Move.set(1)
def OnLeftButtonUp(self, event):
self.Move.set(0)
def OnLeftButtonMove(self, event):
if self.Move.get() == 0:
return
self.NewX = self.Window.winfo_x() + (event.x - self.X.get())
self.NewY = self.Window.winfo_y() + (event.y - self.Y.get())
self.Geometry = f"1200x685+{self.NewX}+{self.NewY}"
self.Window.geometry(self.Geometry)
def EventBind(self):
self.Window_Menu.bind("<Button-1>", self.OnLeftButtonDown)
self.Window_Menu.bind("<ButtonRelease-1>", self.OnLeftButtonUp)
self.Window_Menu.bind("<B1-Motion>", self.OnLeftButtonMove)
def Run(self, N=0):
self.Window.mainloop(N)
if __name__ == '__main__':
Root = Program()
Root.Style_Settings()
Root.Window_Settings()
Root.Window_Show()
Root.Menu_Settings()
Root.Menu_Show()
Root.SelectArea_Settings()
Root.SelectArea_Show()
Root.OperationArea_Settings()
Root.OperationArea_Show()
Root.EventBind()
Root.Run()
效果:
