Форум сайта python.su
Начал сегодня разбираться с tkinter, возник вопрос: как задать ширину рутового окна относительно ширины дисплея монитора ?
Отредактировано dimy44 (Дек. 1, 2013 13:25:04)
Офлайн
Проще всего вычислить.
Можно пользоваться следующим механизмом:
1. Определяем разрешение экрана пользователя (существует три метода).
2. Вычисляем необходимое значения разрешения для определенного процента от окна.
3. Изменяем корневое окно в зависимости от полученных в пункте 2 результатов.
P.S. Нужен код - пишите.
Офлайн
Спасибо. Не, проблема не в коде, хочу разобраться с механизмом планировки виджетов здесь. Как я пока понял, тут нет такого понятия weidth, как в андроид, чтоб задавать размеры не конкретные, а относительные, и все надо вычислять руками ?
Офлайн
Верно. Такие механизмы отсутствуют. Но можно написать их самому
Я уже много напилил для себя, но такой задачи не стояло, поэтому поделиться с Вами нечем…
P.S. Еще нужно не забывать, что некоторые виджеты имеют длину в пикселях, а некоторые в буквах.
Отредактировано 4kpt_II (Дек. 1, 2013 14:16:59)
Офлайн
Ясно, спасибо. Меня это не пугает, т.к. это все знакомо по написанию графического гуя на симбиане, просто не хотелось бы оказаться в ситуации, когда пишешь что-то, а потом выясняется, что все можно сделать проще). Вопрос задал абстрактный, чтоб из ответа понять саму суть, что да как, теперь ясно все.
Офлайн
import tkinter # для Python 2.X tkinter заменить Tkinter root = tkinter.Tk() # для Python 2.X tkinter заменить Tkinter x = root.winfo_screenwidth() # размер по горизонтали y = root.winfo_screenheight() # размер по вертикали # создадим фрейм по половине ширины и длины экрана frame = tkinter.Frame(root, width=x/2, height=y/2, bg='gray') # для Python 2.X tkinter заменить Tkinter frame.pack(side='top', expand=True, fill="both") tkinter.mainloop() # для Python 2.X tkinter заменить Tkinter
Отредактировано elisk (Дек. 2, 2013 19:20:02)
Офлайн
tkinter.mainloop()
Отредактировано 4kpt_II (Дек. 2, 2013 19:20:01)
Офлайн
4kpt_II
tkinter.mainloop()
Вы ничего, часом, мой друг, не перепутали?
Отредактировано elisk (Дек. 2, 2013 19:27:10)
Офлайн
Это во-первых…
А во-вторых
4kpt_IIЯ про это уже написал.
1. Определяем разрешение экрана пользователя (существует три метода).
Офлайн
4kpt_IIТак напишите. Проги работают и так и так.
P.S. Разница все-таки есть… Просто Вы о ней пока не знаете
Офлайн