То, что я пытаюсь сделать, - это оставить мое окно в верхнем правом углу экрана. Когда вы перемещаетесь по различным параметрам, окно меняет размер в зависимости от того, что отображается. Поэтому мне нужно что-то, что проверяет текущий размер окна, а затем позиционирует его на основе его размера.Позиционирование окна при его изменении в размере
Мой код:
from tkinter import *
class Main:
def __init__(self, master):
self.master = master
self.win_1()
def win_1(self):
for child in self.master.winfo_children():
child.destroy()
Text(self.master, width = 10, height = 3).grid(columnspan = 2)
Button(self.master, text = 'Win 2', width = 7, command = self.win_2).grid(row = 2, column = 0)
Button(self.master, text = 'Exit', width = 7, command = self.master.destroy).grid(row = 2, column = 1)
self.position_win()
def win_2(self):
for child in self.master.winfo_children():
child.destroy()
Text(self.master, width = 20, height = 10).grid()
Button(self.master, text = 'Win 1', command = self.win_1).grid()
self.position_win()
def position_win(self):
self.h = self.master.winfo_height()
self.w = self.master.winfo_width()
self.master.geometry('-%d+%d' % (self.w, self.h))
root = Tk()
Main(root)
root.mainloop()
Это было лучшее, что я мог придумать, чтобы достичь своей цели. Когда я запускаю это, окно начинает отлично размещаться в верхнем правом углу. Когда вы нажимаете кнопку, верхний правый угол окна 2 устанавливается в левом нижнем углу окна 1. Затем, когда вы нажимаете на окно 1, он устанавливает верхний правый угол в ту же позицию, что и в окне 2. С этого момента цикл между окнами работает в правом верхнем углу окна, но окна не находятся в верхнем правом углу экрана. Я уверен, что это ясно, как грязь, но если вы запустите код, вы увидите, о чем я говорю.
Почему он это делает и как его исправить?
Спасибо!
Хорошая информация. Спасибо! И проблема решена. Что касается ваших комментариев в вашей заметке, я действительно прочитал этот подход, но с моими ограниченными знаниями метод create/destroy дал больше смысла. Но я буду рассматривать этот подход в своем следующем проекте. Еще раз спасибо! – Gregory6106