Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 24, 2017 18:23:43

lubocka
Зарегистрирован: 2017-06-11
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

Читаю по книге Марка Лутца о растягивании.

 from tkinter import *
colors = ['red', 'white', 'blue']
def gridbox(root):
    Label(root, text='Grid').grid(columnspan=2)
    row = 1
    for color in colors:
        lab = Label(root, text=color, relief=RIDGE, width=25)
        ent = Entry(root, bg=color, relief=SUNKEN, width=50)
        lab.grid(row=row, column=0, sticky=NSEW)
        ent.grid(row=row, column=1, sticky=NSEW)
        root.rowconfigure(row, weight=1)
        row += 1
    root.columnconfigure(0, weight=1)
    root.columnconfigure(1, weight=1)
def packbox(root):
    Label(root, text='Pack').pack()
    for color in colors:
        row = Frame(root)
        lab = Label(row, text=color, relief=RIDGE, width=25)
        ent = Entry(row, bg=color, relief=SUNKEN, width=50)
        row.pack(side=TOP, expand=YES, fill=BOTH)
        lab.pack(side=LEFT, expand=YES, fill=BOTH)
        ent.pack(side=RIGHT, expand=YES, fill=BOTH)
root = Tk()
gridbox(Toplevel(root))
packbox(Toplevel(root))
Button(root, text='Quit', command=root.quit).pack()
mainloop()

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

Офлайн

#2 Авг. 24, 2017 18:44:42

Djo0513
Зарегистрирован: 2016-09-02
Сообщения: 92
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

lubocka
Если вы про expand параметр, то просто вместо константы YES введите число.
Пример:

 lab.pack(side=LEFT, expand=10, fill=BOTH)

А лучше используйте упаковщик place()

А ещё лучше начните изучать PyQT, если вы хотите заниматься GUI полноценно.



Лучший учитель - это ты сам.

Отредактировано Djo0513 (Авг. 24, 2017 18:46:16)

Офлайн

#3 Авг. 24, 2017 20:03:10

lubocka
Зарегистрирован: 2017-06-11
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

а лучше PyQT или PyQT5? ну чтоб потом лишний раз не переучиваться.
Лучший вариант тот, который не будет впоследствии влиять на скорость, красившести мало интересуют.

Отредактировано lubocka (Авг. 24, 2017 20:03:32)

Офлайн

#4 Авг. 24, 2017 20:22:03

Djo0513
Зарегистрирован: 2016-09-02
Сообщения: 92
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

lubocka
К сожалению я не GUI разработчик, я так же как и вы изучал tkinter библиотеку на начальных этапах, она преподаётся как база GUI. PyQT5 это ветка PyQT. PyQT4 более ранняя версия. Я не могу вам порекомендовать какую учить, так как сам не знаком с ними.



Лучший учитель - это ты сам.

Офлайн

#5 Авг. 25, 2017 00:31:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Ограничение растягивания

lubocka
а лучше PyQT или PyQT5?
Если у тебя операционная система не новая, бери PyQt4, иначе бери PyQt5. Они не сильно различаются, в PyQt5 по-другому упорядочены модули в основном. А для начинающего эти версии вообще не различаются, только путями.



Отредактировано py.user.next (Авг. 25, 2017 00:31:50)

Офлайн

#6 Авг. 30, 2017 08:40:56

lubocka
Зарегистрирован: 2017-06-11
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

Вернувшись к данному примеру, меня заинтересовал еще такой момент.

Возможно ли пользователю изменять размер по высоте или ширине отдельного поля ?
Если да, то как это реализовать


Офлайн

#7 Авг. 30, 2017 11:03:34

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Ограничение растягивания

> а лучше PyQT или PyQT5? ну чтоб потом лишний раз не переучиваться.

Если не интересует Quick, то для начала всё равно.

> я не GUI разработчик, я так же как и вы изучал tkinter библиотеку на начальных этапах, она преподаётся как база GUI.

Я “GUI разработчик” и я не знаю tkinter. Я её даже на начальном этапе не учил ибо сразу понял что оно нафиг не нужно.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Авг. 30, 2017 11:05:26)

Офлайн

#8 Авг. 30, 2017 13:35:12

lubocka
Зарегистрирован: 2017-06-11
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение растягивания

ок, спасибо. Значит 100% отложить tkinter.
В принципе я только начала осваивать Python, и могу легко поменять направление.

Офлайн

#9 Авг. 30, 2017 17:56:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Ограничение растягивания

lubocka
Значит 100% отложить tkinter.
Чтобы на tkinter писать, нужно быть хорошим, опытным разработчиком. Это парадокс, но это так. Он, конечно, с первого взгляда простой, но он так плохо документирован и работает с такими глюками, что чтобы на нём писать что-то приемлемое, надо хорошо разбираться в его внутренностях и для этого нужно много чего прочитать (даже относящееся не к питону, а к так-тиклю), иначе будет получаться сплошное фуфло. С PyQt же другое дело: он так развит, что сделано много вспомогательных средств, в которых разберётся даже школьник; при этом это не мешает ему быть и профессиональной системой, которой он и делался изначально.



Отредактировано py.user.next (Авг. 30, 2017 18:02:17)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version