czy da się zrobić tak ze nowe okna będą pojawiać się w miejscu które sobie ustalę?

0

'''import Tkinter as tk

#----------------------------------------------------------------------

class Main(tk.Tk): # dziedziczenie po klasie tk.Tk

def __init__(self):
    tk.Tk.__init__(self) # wywolanie konstruktora klasy tk.Tk
    self.title("Main") # wewnetrzny dostep do wlasnosci okna

    tk.Button(self, text="Otworz okno Child z okna Main", command=self.onButton).grid()

def onButton(self):
    self.child = Child(self) # przekazanie okna jako rodzica

def run(self):
    self.mainloop()

#----------------------------------------------------------------------

class Child(tk.Toplevel): # dziedziczenie po klasie tk.Toplevel

def __init__(self, parent):
    tk.Toplevel.__init__(self, parent) # wywolanie konstruktora klasy tk.Toplevel
    self.title("Child") # wewnetrzny dostep do wlasnosci okna

    tk.Button(self, text="Otworz okno Child z okna Child", command=self.onButton).grid()

def onButton(self):
    self.child = Child(self) # przekazanie okna jako rodzica

#----------------------------------------------------------------------

glowne = Main()
glowne.title("Glowne") # zewnetrzny dostep do wlasnosci okna
glowne.run()'''

czy da się zrobić tak ze nowe okna będą pojawiać się w miejscu które sobie ustalę?

0

Spróbuj z Toplevel.geometry(geom)

Format argumentu geom jest mniej więcej taki:

"<szerokość>x<wysokość><+ lub -><offset-poziomo><+ lub -><offset-pionowo>"

Na przykład:

"640x480+300+200" 

powinien oznaczać "Okno o wymiarach 640x480 przesunięte o 300px w prawo i 200px w dół". Z tego, co zaobserwowałem dziobiąc teraz na szybko w konsoli, dla Toplevel / Tk jest to przesunięcie lewego/górnego boku okna względem lewego/górnego boku ekranu dla dodatnich przesunięć, przy ujemnym daje przesunięcie prawego/dolnego boku okna względem prawego/dolnego boku ekranu.

Przykład w kodzie:

>>> import tkinter as tk
>>> master = tk.Tk()
>>> master.geometry("800x600+200+200")
''
>>> slave = tk.Toplevel(master)
>>> slave.geometry("400x300+100+100")
''
>>> master.mainloop()

Efekt:
screenshot-20190430235846.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1