2016-09-09 8 views
0

Ich hatte einen Splash-Bildschirm wie folgt;Splash Screen bewegen bar

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

aber das ist nicht haben eine Bewegung bar kann ich schließen und minimieren Taste wie folgt;

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() 

Aber ich kann Bewegungsstange nicht hinzufügen.Move bar addieren möglich?

Antwort

0

Gelöst

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()