Форум сайта python.su
0
Читаю по книге Марка Лутца о растягивании.
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()
Офлайн
0
lubocka
Если вы про expand параметр, то просто вместо константы YES введите число.
Пример:
lab.pack(side=LEFT, expand=10, fill=BOTH)
Отредактировано Djo0513 (Авг. 24, 2017 18:46:16)
Офлайн
0
а лучше PyQT или PyQT5? ну чтоб потом лишний раз не переучиваться.
Лучший вариант тот, который не будет впоследствии влиять на скорость, красившести мало интересуют.
Отредактировано lubocka (Авг. 24, 2017 20:03:32)
Офлайн
0
lubocka
К сожалению я не GUI разработчик, я так же как и вы изучал tkinter библиотеку на начальных этапах, она преподаётся как база GUI. PyQT5 это ветка PyQT. PyQT4 более ранняя версия. Я не могу вам порекомендовать какую учить, так как сам не знаком с ними.
Офлайн
857
lubockaЕсли у тебя операционная система не новая, бери PyQt4, иначе бери PyQt5. Они не сильно различаются, в PyQt5 по-другому упорядочены модули в основном. А для начинающего эти версии вообще не различаются, только путями.
а лучше PyQT или PyQT5?
Отредактировано py.user.next (Авг. 25, 2017 00:31:50)
Офлайн
0
Вернувшись к данному примеру, меня заинтересовал еще такой момент.
Возможно ли пользователю изменять размер по высоте или ширине отдельного поля ?
Если да, то как это реализовать
Офлайн
186
> а лучше PyQT или PyQT5? ну чтоб потом лишний раз не переучиваться.
Если не интересует Quick, то для начала всё равно.
> я не GUI разработчик, я так же как и вы изучал tkinter библиотеку на начальных этапах, она преподаётся как база GUI.
Я “GUI разработчик” и я не знаю tkinter. Я её даже на начальном этапе не учил ибо сразу понял что оно нафиг не нужно.
Отредактировано Rodegast (Авг. 30, 2017 11:05:26)
Офлайн
0
ок, спасибо. Значит 100% отложить tkinter.
В принципе я только начала осваивать Python, и могу легко поменять направление.
Офлайн
857
lubockaЧтобы на tkinter писать, нужно быть хорошим, опытным разработчиком. Это парадокс, но это так. Он, конечно, с первого взгляда простой, но он так плохо документирован и работает с такими глюками, что чтобы на нём писать что-то приемлемое, надо хорошо разбираться в его внутренностях и для этого нужно много чего прочитать (даже относящееся не к питону, а к так-тиклю), иначе будет получаться сплошное фуфло. С PyQt же другое дело: он так развит, что сделано много вспомогательных средств, в которых разберётся даже школьник; при этом это не мешает ему быть и профессиональной системой, которой он и делался изначально.
Значит 100% отложить tkinter.
Отредактировано py.user.next (Авг. 30, 2017 18:02:17)
Офлайн