#python #tkinter
Вопрос:
У меня есть виджет tkinter progressbar, который отлично работает в ходе выполнения последовательности из N=1000 вычислений. Я знаю, как настроить размер виджета в моем главном окне, но не вертикальную толщину расширяющегося сегмента (показано синим цветом ниже), который содержится в виджете.
Мое главное окно помечено как корневое, и в настоящее время у меня есть
N=1000
progress_var = DoubleVar()
progressbar = Progressbar(master=root,variable=progress_var, length=N,maximum=1)
progressbar.pack(side=TOP,ipady=20,fill=BOTH, expand=True)
progress_var.set(0)
progressbar.update()
for i in range(N):
# do stuff
progress_var.set((i 1)/N)
progressbar.update()
Насколько я понимаю, опция ipad=20 управляет вертикальным размером виджета progressbar в корневом каталоге, но это мне здесь не помогает. Есть ли вариант, который я могу где-нибудь добавить?
Я использую Python 3.9 на Mac с Big Sur.
Комментарии:
1. Попробуйте изменить значение
.pack(side=TOP,ipady=20,fill=BOTH, expand=True)
на.pack(side="top", fill="x", ipady=20)
.expand=True
Иногда может заставить виджет расширяться в нежелательных направлениях, как то, что вы видите.2. Это, похоже, не решает проблему для меня. Я забыл упомянуть, что над панелью прогресса находится холст, на котором отображается изображение: фон=фотоизображение(‘background.png’) plt.rcParams[«figure.figsize»] = [10,6] рис., ax = plt.подзаголовки() фон = plt.imread(‘background.png’) ax.imshow(фон) холст = рисунок(рисунок, мастер=корень) холст.нарисуйте() холст.get_tk_widget (). пакет(сторона=СВЕРХУ, заливка=ОБА, расширяйтесь=1) Я не думаю, что это действительно должно иметь значение, но, может быть, это имеет значение?