Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Скажите, я на правильном пути? (клепаю форму для вывода данных) [RSS Feed]

#1 Фев. 5, 2019 16:12:40

WissenWolf
Зарегистрирован: 2019-02-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Скажите, я на правильном пути? (клепаю форму для вывода данных)

Клепаю форму для вывода данных.
Идея: этакая табличка, в которой выводятся некоторым образом размеченные данные по соответствующим полям.
По нажатию кнопки (которая с цифрой) соответствующее поле повторяется (не реализовано), по нажатию кнопки “…” - открывается для редактирования данных (не реализовано).

В правильном ли направлении я двигаюсь?

 import tkinter
if __name__ == '__main__':
    root = tkinter.Tk()
    root.geometry("800x600+50+50")
    framelist = {}
    for i in range(0, 10):
        currentframe = framelist['frame' + str(i)] = tkinter.Frame(root, bg='grey', bd=1, height=12)
        ch = framelist['ch' + str(i)] = tkinter.Checkbutton(currentframe, variable='ch' + str(i), relief='flat')
        lbl = framelist['lbl' + str(i)] = tkinter.Label(currentframe, text="Поле " + str(i), width=30)
        b = framelist['b' + str(i)] = tkinter.Button(currentframe, text=str(i))
        tv = framelist['tv' + str(i)] = tkinter.StringVar()
        tv.set("Текст " + str(i))
        t = framelist['t' + str(i)] = tkinter.Entry(currentframe, textvariable=tv, width=60)
        b2 = framelist['b2' + str(i)] = tkinter.Button(currentframe, text="...")
        ch.pack(side='left')
        lbl.pack(side='left')
        b.pack(side='left')
        t.pack(side='left')
        b2.pack(side="left")
        currentframe.pack(side='top')
    root.mainloop()

Отредактировано WissenWolf (Фев. 5, 2019 16:23:59)

Офлайн

#2 Фев. 6, 2019 10:25:34

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Скажите, я на правильном пути? (клепаю форму для вывода данных)

WissenWolf
В правильном ли направлении я двигаюсь?
Это код ни о чем, вы просто нарисовали картинку, абсолютно не представляя себе как будете вводить тот или иной функционал. Вы создали словарь с туевой хучей элементов вперемешку. Как вы собираетесь вешать бинды на каждую кнопку, как будете заполнять данные, как считывать? как будет повторяться “соответствующее поле”, как вы вообще будете с формой взаимодействовать, как заполнять ее, как считывать данные?

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



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 6, 2019 10:29:02)

Офлайн

  • Начало
  • » GUI
  • » Скажите, я на правильном пути? (клепаю форму для вывода данных)[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version