Форум сайта python.su
0
from tkinter import *
import pickle, shelve
MONTHS = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]
# созздание граф инерфейса
class Org():
def __init__(self):
self.create()
def create(self):
#блок инструкции
self.instruct = Label(app, text = "1-добавить заметку")
self.instruct.grid(sticky = "W")
self.instruct2 = Label(app, text = "2-просмотр заметки")
self.instruct2.grid(sticky = "W")
self.instruct3 = Label(app, text = "3-удаление заметки")
self.instruct3.grid(sticky = "W")
#блок с надписями около полей ВВОДА
self.lblchoose = Label(app, text = "Ваш выбор:", font="Arial 12")
self.lblchoose.grid(sticky = "W")
self.lbldate = Label(app, text = "Число:" )
self.lbldate.grid(row=0, column = 0, sticky = "W", padx = 150)
self.lblname = Label(app, text = "Имя:")
self.lblname.grid(row = 1, column = 0, sticky = "W", padx = 150)
self.lblvalue = Label(app, text = "Значение:")
self.lblvalue.grid(row = 2, column = 0, sticky = "W", padx = 150)
#БЛОК полей ВВОДА
self.entc = Entry(app, width = 2, bd = 3)
self.entc.grid(row=3, column=0, sticky = "W", padx = 110 )
self.entd = Entry(app, width = 5, bd = 3, )
self.entd.grid(row = 0, column = 0, sticky = "W", padx = 250)
self.entn = Entry(app, width = 40, bd = 3, )
self.entn.grid(row = 1, column = 0, sticky = "W", padx = 250)
self.entv = Entry(app, width = 70, bd = 3, )
self.entv.grid(row = 2, column = 0, sticky = "W", padx = 250)
#текстовое окно
self.bentry = Text(app, width = 86, height = 10, bd = 5, wrap = WORD)
self.bentry.grid(row =5 , column = 0, sticky = "W")
#кнопочка подтверждения выбора
self.confirm = Button(app, text = "Подтверждене выбора")
self.confirm.bind("<Button-1>", self.choose_getter)
self.confirm.grid(row = 3, column = 0, sticky = "W", padx = 140)
#Добавление списка
self.lis = Listbox(app, selectmode=SINGLE, height=12 )
for i in MONTHS:
self.lis.insert(END, i)
self.lis.grid(row = 0 , column = 0, padx = 1000, sticky = "E")
self.lis.bind("<<ListboxSelect>>", self.getter_month)
def getter_month(self, event):
month = self.lis.get(lis.curselection())
print(month)
def choose_getter(self, event):
choose = self.entc.get()
self.bentry.delete(0.0, END)
# Изъяие данных из журнала
log = shelve.open("log", "c")
names = log["names"]
values = log["values"]
log.sync()
log.close()
if choose == "1":
date = self.entd.get()
name = self.entn.get()
value = self.entv.get()
names[date] = name
values[date] = value
result = ("Вы добавили заметку на", date, "с именем", name,"с содержанием", value)
self.bentry.insert(0.0, result)
if choose =="2":
date = self.entd.get()
result2 = "имя заметки", names[date],"значение", values[date]
self.bentry.insert(0.0, result2)
if choose == "3":
date = self.entd.get()
del values[date]
del names[date]
self.bentry.insert(0.0, "Заметка удалена")
# Блок записи в лог
log = shelve.open("log", "c")
log["names"] = names
log["values"] = values
log.sync()
log.close()
root = Tk()
root.title("Заметки")
root.geometry("1400x600")
app = Frame(root)
app.grid()
obj = Org()
root.mainloop()
Офлайн
49
Жутковатый код 
Ошибку лучше все же выкладывать, но попробую догадаться
def getter_month(self, event): month = self.lis.get(lis.curselection()) print(month)
Отредактировано 4kpt_IV (Апрель 3, 2016 22:21:19)
Офлайн