Форум сайта python.su
Нужно сделать по нажатию на Button, чтоб менялся размер окна, он как бы меняется, но переменные которые влияют на размер других объектов не изменяются с помощью global переменных. Как это сделать пока вот что написал. Полностью проект во вложениях. Если понятнее, то надо WIDTH = 1200 HEIGHT = 400 изменить на значение из функции Resolution1000xButton()
from tkinter import * WIDTH = 1200 HEIGHT = 400 root = Tk() root.title("Ping-Pong v0.3") c = Canvas(root, width=WIDTH, height=HEIGHT, background="#003300") c.pack() def ResolutionButton(): global Resolution1200x Resolution1200x = Button(text='1200x400', command=Resolution1200xButton) Resolution1200x.place(relx=.5, rely=.4, anchor="c", height=30, width=150, bordermode=OUTSIDE) global Resolution1000x Resolution1000x = Button(text='1000x300', command=Resolution1000xButton) Resolution1000x.place(relx=.5, rely=.5, anchor="c", height=30, width=150, bordermode=OUTSIDE) global Resolution800x Resolution800x = Button(text='1000x200', command=Resolution800xButton) Resolution800x.place(relx=.5, rely=.6, anchor="c", height=30, width=150, bordermode=OUTSIDE) global ResolutionBack ResolutionBack = Button(text='Назад', command=ResolutionBackButton) ResolutionBack.place(relx=.5, rely=.7, anchor="c", height=30, width=150, bordermode=OUTSIDE) def Resolution1200xButton(): global WIDTH WIDTH = 1200 global HEIGHT HEIGHT = 400 a = str(WIDTH) + "x" + str(HEIGHT) root.geometry(a) def Resolution1000xButton(): global WIDTH WIDTH = 900 global HEIGHT HEIGHT = 300 a = str(WIDTH) + "x" + str(HEIGHT) root.geometry(a)
Отредактировано nickin (Ноя. 29, 2017 17:33:05)
Прикреплённый файлы:
ПолныйПроект.rar (3,2 KБ)
Офлайн
nickinО, дружище, это же тебе не Excel, чтобы изменение переменной влияло на другие переменные. Так оно не работает. Все функции, где эта глобальная переменная используется надо перевызывать, все объекты пересоздавать и т.д.
но переменные которые влияют на размер других объектов не изменяются с помощью global переменных.
Офлайн
FishHookспасибо
Офлайн