Изменить размер окна Tkinter FROM RIGHT (питон) - PullRequest
0 голосов
/ 29 июля 2011

Я не уверен, как сформулировать это ...

У меня есть окно Tkinter, и мне нужно скрыть половину этого окна при нажатии кнопки. Однако мне нужно скрыть крайнюю левую сторону, чтобы окно теперь было в два раза меньше его первоначального размера,
и показывает правую половину исходного окна.

Все функции изменения размера в Tkinter охватывают левую сторону окна. При изменении значений геометрии может отображаться только левая сторона , а правая скрывается; Мне нужно обратное.

Кто-нибудь знает, как это сделать?

(я не хочу, чтобы пользователь перетаскивал границу окна, Мне нужна кнопка для ее автоматизации).


Технические характеристики:

  • Python 2.7.1
  • Tkinter
  • Windows 7

Ответы [ 3 ]

2 голосов
/ 29 июля 2011

Вы можете использовать привязанные к правой части геометрии, используя знак минус в нужном месте:

123x467<b><i>-78</i></b>+9

Тем не менее, я не знаю, будет ли это работать в Windows (вышеупомянутый трюк X11, и я не знаю, реализовано ли это на уровне совместимости платформы или нет); вам, возможно, придется просто рассчитать новую позицию с учетом прогнозируемого размера левой стороны и использовать ее.

1 голос
/ 04 августа 2011

делает ли это то, что вы хотите?

import Tkinter as Tk #tkinter

def toggle():
    if frame1.winfo_ismapped():
        frame1.grid_remove()
    else:
        frame1.grid()

root = Tk.Tk()
root.geometry('-450+250')
frame1 = Tk.Frame(root, width=200, height=100, bg='red')
frame1.grid(row=0, column=0)
frame2 = Tk.Frame(root, width=200, height=100, bg='blue')
frame2.grid(row=0, column=1)
Tk.Button(root, text='toggle', command=toggle).grid(row=1, column=1)

root.mainloop()
0 голосов
/ 05 августа 2011

У моего учителя по ИТ было предложение:

Добавить полосу прокрутки вне поля зрения,
и после изменения размера корневого окна,
заставить полосу прокрутки прокручивать полностью вправо.

(Итак, я думаю, мне нужно создать холст,
упаковать все мои виджеты в рамку,
упаковать рамку в холст, настроить холст с помощью полосы прокрутки?)

Я не уверен, есть ли функция для установки текущей позиции полосы прокрутки (таким образом, xview окна),
, но я думаю, что есть.

Еще предстоит реализоватьэто, но выглядит многообещающе.

Спасибо за предложения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...