Найти - Пользователи
Полная версия: Ограничение растягивания
Начало » Python для новичков » Ограничение растягивания
1
lubocka
Читаю по книге Марка Лутца о растягивании.
 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()

Вопрос: Можно ли ограничить растягивание ? то есть минимальное и максимальное значение, особенно интересует по высоте
Djo0513
lubocka
Если вы про expand параметр, то просто вместо константы YES введите число.
Пример:

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

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

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

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

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


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

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

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

Я “GUI разработчик” и я не знаю tkinter. Я её даже на начальном этапе не учил ибо сразу понял что оно нафиг не нужно.
lubocka
ок, спасибо. Значит 100% отложить tkinter.
В принципе я только начала осваивать Python, и могу легко поменять направление.
py.user.next
lubocka
Значит 100% отложить tkinter.
Чтобы на tkinter писать, нужно быть хорошим, опытным разработчиком. Это парадокс, но это так. Он, конечно, с первого взгляда простой, но он так плохо документирован и работает с такими глюками, что чтобы на нём писать что-то приемлемое, надо хорошо разбираться в его внутренностях и для этого нужно много чего прочитать (даже относящееся не к питону, а к так-тиклю), иначе будет получаться сплошное фуфло. С PyQt же другое дело: он так развит, что сделано много вспомогательных средств, в которых разберётся даже школьник; при этом это не мешает ему быть и профессиональной системой, которой он и делался изначально.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB