Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 1, 2013 13:23:11

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

tkinter, ширина рутового окна

Начал сегодня разбираться с tkinter, возник вопрос: как задать ширину рутового окна относительно ширины дисплея монитора ?

Отредактировано dimy44 (Дек. 1, 2013 13:25:04)

Офлайн

#2 Дек. 1, 2013 13:42:29

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

Проще всего вычислить.
Можно пользоваться следующим механизмом:
1. Определяем разрешение экрана пользователя (существует три метода).
2. Вычисляем необходимое значения разрешения для определенного процента от окна.
3. Изменяем корневое окно в зависимости от полученных в пункте 2 результатов.

P.S. Нужен код - пишите.

Офлайн

#3 Дек. 1, 2013 14:04:59

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

tkinter, ширина рутового окна

Спасибо. Не, проблема не в коде, хочу разобраться с механизмом планировки виджетов здесь. Как я пока понял, тут нет такого понятия weidth, как в андроид, чтоб задавать размеры не конкретные, а относительные, и все надо вычислять руками ?

Офлайн

#4 Дек. 1, 2013 14:11:32

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

Верно. Такие механизмы отсутствуют. Но можно написать их самому
Я уже много напилил для себя, но такой задачи не стояло, поэтому поделиться с Вами нечем…

P.S. Еще нужно не забывать, что некоторые виджеты имеют длину в пикселях, а некоторые в буквах.

Отредактировано 4kpt_II (Дек. 1, 2013 14:16:59)

Офлайн

#5 Дек. 1, 2013 14:22:49

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

tkinter, ширина рутового окна

Ясно, спасибо. Меня это не пугает, т.к. это все знакомо по написанию графического гуя на симбиане, просто не хотелось бы оказаться в ситуации, когда пишешь что-то, а потом выясняется, что все можно сделать проще). Вопрос задал абстрактный, чтоб из ответа понять саму суть, что да как, теперь ясно все.

Офлайн

#6 Дек. 2, 2013 19:18:23

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

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)

Офлайн

#7 Дек. 2, 2013 19:19:48

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

tkinter.mainloop()

Вы ничего, часом, мой друг, не перепутали?

Отредактировано 4kpt_II (Дек. 2, 2013 19:20:01)

Офлайн

#8 Дек. 2, 2013 19:25:52

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

4kpt_II
tkinter.mainloop()
Вы ничего, часом, мой друг, не перепутали?


Особой разницы нет, но правильней конечно будет:
root.mainloop()

Отредактировано elisk (Дек. 2, 2013 19:27:10)

Офлайн

#9 Дек. 2, 2013 19:28:36

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

Это во-первых…
А во-вторых

4kpt_II
1. Определяем разрешение экрана пользователя (существует три метода).
Я про это уже написал.

P.S. Разница все-таки есть… Просто Вы о ней пока не знаете

Офлайн

#10 Дек. 2, 2013 19:37:45

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

tkinter, ширина рутового окна

4kpt_II
P.S. Разница все-таки есть… Просто Вы о ней пока не знаете
Так напишите. Проги работают и так и так.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version