启动屏幕移动b

2024-04-25 12:26:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的闪屏

from tkinter import *
root = Tk()
root.overrideredirect(True)
root.mainloop()s

但这是没有一个移动栏我可以添加关闭和最小化按钮这样

from tkinter import *
root = Tk()
root.overrideredirect(True)
Button(root,text="X",command=lambda:root.destroy()).place(x=150,y=10,width=20)
root.mainloop()

但我不能增加移动酒吧,快走可以添加条吗?你知道吗


Tags: lambdatextfromimporttruetkinterbuttonroot
1条回答
网友
1楼 · 发布于 2024-04-25 12:26:35

已解决

import tkinter as tk

class App(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        self.geometry("700x500")
        self.canvas = tk.Canvas(self,width=700, height=50, bg='white')
        self.canvas.create_rectangle(0, 0, 700, 50, width=0, fill='dark slate gray')
        self.canvas.pack()
        self.button = tk.Button(self,bg="gray",text="x",font=("Times", "24", "bold italic"),command=lambda: self.destroy(),border=0)   
        self.button.place(x=645,y=5,width=45,height=40)            
        self.overrideredirect(True)
        self.button.bind("<Enter>", self.on_enter)
        self.button.bind("<Leave>", self.on_leave)
        self.canvas.bind("<ButtonPress-1>", self.StartMove)
        self.canvas.bind("<ButtonRelease-1>", self.StopMove)
        self.canvas.bind("<B1-Motion>", self.OnMotion)
    def on_enter(self, event):
        self.button.configure(bg="firebrick")

    def on_leave(self, enter):
        self.button.configure(bg="gray")

    def StartMove(self, event):
        self.x = event.x
        self.y = event.y

    def StopMove(self, event):
        self.x = None
        self.y = None

    def OnMotion(self, event):
        deltax = event.x - self.x
        deltay = event.y - self.y
        x = self.winfo_x() + deltax
        y = self.winfo_y() + deltay
        self.geometry("+%s+%s" % (x, y))


app=App()
app.mainloop()

相关问题 更多 >