Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Python_курсовая.docx
Скачиваний:
72
Добавлен:
02.02.2015
Размер:
1 Мб
Скачать
☆

Preview_find.Py

# -*- coding: utf-8-*-

import Tkinter

import ScrolledText

import tkFont

import os

import string

import pickle

import tkFileDialog

import Image

import ImageTk

class preview_find:

def __init__(self, root,all_font,res_data,number_of_path):

self(root,all_font,res_data,number_of_path)

def __call__(self,root,all_font,res_data,number_of_path):

self.number_of_path = number_of_path

def otmena(event = None):

self.FRC.destroy()

root.title(u"Просмотр результатов поиска")

self.dosm = ["Spec","Grup","Mark","God_1","Name_S","SName_S","LName_S","Name_P","SName_P","LName_P","page","plac","pict","tabl"]

#Parametry = ["Специальность","Группа","Оценка","Год защити","�мя","Фамилия","Отчество","�мя2","Фамилия2","Отчество2","Тема дипломного проэкта","Количество страниц","Количество плакатов","Количество рисунков","Количество таблиц"]

self.Param_2 = {"Spec":u"","Grup":u"","Mark":"","God_1":"","Name_S":"","SName_S":"","LName_S":"","Name_P":"","SName_P":"","LName_P":"","page":"","plac":"","pict":"","tabl":""}

self.FRC = Tkinter.Frame(root)

self.FRC["width"] = 1024

self.FRC["height"] = 768

self.FRC.place(relx = 0, rely = 0, anchor = "nw" )

self.stud_inf = res_data[number_of_path]

LaFR1 = Tkinter.LabelFrame(self.FRC)

LaFR1["text"] = u"Специальность"

LaFR1["font"] = all_font

LaFR1.place(relx = 0.02, rely = 0.03, anchor = "w")

self.Ent1 = Tkinter.Entry(LaFR1)

self.Ent1["width"] = 40

self.Ent1.insert( "end" ,self.stud_inf.get("Spec"))

self.Ent1 ["state"] = "disabled"

self.Ent1.pack()

LaFR2 = Tkinter.LabelFrame(self.FRC)

LaFR2["text"] = u"Группа"

LaFR2["font"] = all_font

LaFR2.place(relx = 0.34, rely = 0.03, anchor = "w")

self.Ent2 = Tkinter.Entry(LaFR2)

self.Ent2["width"] = 10

self.Ent2.insert("end" ,self.stud_inf.get("Grup"))

self.Ent2 ["state"] = "disabled"

self.Ent2.pack()

LaFR3= Tkinter.LabelFrame(self.FRC)

LaFR3["text"] = u"Оценка"

LaFR3["font"] = all_font

LaFR3.place(relx = 0.42, rely = 0.03, anchor = "w")

self.Ent3 = Tkinter.Entry(LaFR3)

self.Ent3.insert("end" ,self.stud_inf.get("Mark"))

self.Ent3["width"] = 10

self.Ent3 ["state"] = "disabled"

self.Ent3.pack()

LaFR4 = Tkinter.LabelFrame(self.FRC)

LaFR4["text"] = u"Год защити"

LaFR4["font"] = all_font

LaFR4.place(relx = 0.5, rely = 0.03, anchor = "w")

self.Ent4 = Tkinter.Entry(LaFR4)

self.Ent4["width"] = 10

self.Ent4.insert("end" ,self.stud_inf.get("God_1"))

self.Ent4 ["state"] = "disabled"

self.Ent4.pack()

LaFR5= Tkinter.LabelFrame(self.FRC)

LaFR5["text"] = u"Степень"

LaFR5["font"] = all_font

LaFR5.place(relx = 0.66, rely = 0.03, anchor = "w")

self.Ent123 = Tkinter.Entry(LaFR5)

self.Ent123["width"] =17

self.Ent123.insert("end" ,self.stud_inf.get("Stepen"))

self.Ent123 ["state"] = "disabled"

self.Ent123.pack()

LaFR_Date_1 = Tkinter.LabelFrame(self.FRC)

LaFR_Date_1["text"] = u"Данные о студенте"

LaFR_Date_1["font"] = all_font

LaFR_Date_1.place(relx = 0.01, rely = 0.12, anchor = "w")

LaFR_Date_1["width"] = 924

LaFR_Date_1["height"] = 85

LaFR6 = Tkinter.LabelFrame(LaFR_Date_1)

LaFR6["text"] = u"Имя"

LaFR6["font"] = all_font

LaFR6.place(relx = 0.01, rely = 0.5 , anchor = "w")

self.Ent6 = Tkinter.Entry(LaFR6)

self.Ent6["width"] = 40

self.Ent6.insert("end" ,self.stud_inf.get("Name_S"))

self.Ent6 ["state"] = "disabled"

self.Ent6.pack()

LaFR7 = Tkinter.LabelFrame(LaFR_Date_1)

LaFR7["text"] = u"Фамилия"

LaFR7["font"] = all_font

LaFR7.place(relx = 0.5, rely = 0.5 , anchor = "center")

self.Ent7 = Tkinter.Entry(LaFR7)

self.Ent7["width"] = 40

self.Ent7.insert("end" ,self.stud_inf.get("SName_S"))

self.Ent7 ["state"] = "disabled"

self.Ent7.pack()

LaFR8 = Tkinter.LabelFrame(LaFR_Date_1)

LaFR8["text"] = u"Отчество"

LaFR8["font"] = all_font

LaFR8.place(relx = 0.99, rely = 0.5 , anchor = "e")

self.Ent8 = Tkinter.Entry(LaFR8)

self.Ent8["width"] = 40

self.Ent8.insert("end" ,self.stud_inf.get("LName_S"))

self.Ent8 ["state"] = "disabled"

self.Ent8.pack()

LaFR_Date_2 = Tkinter.LabelFrame(self.FRC)

LaFR_Date_2["text"] = u"Данные о научном руководителе"

LaFR_Date_2["font"] = all_font

LaFR_Date_2.place(relx = 0.01, rely = 0.25, anchor = "w")

LaFR_Date_2["width"] = 924

LaFR_Date_2["height"] = 85

LaFR9 = Tkinter.LabelFrame(LaFR_Date_2)

LaFR9["text"] = u"Имя"

LaFR9["font"] = all_font

LaFR9.place(relx = 0.01, rely = 0.5 , anchor = "w")

self.Ent9 = Tkinter.Entry(LaFR9)

self.Ent9["width"] = 40

self.Ent9.insert("end" ,self.stud_inf.get("Name_P"))

self.Ent9 ["state"] = "disabled"

self.Ent9.pack()

LaFR10 = Tkinter.LabelFrame(LaFR_Date_2)

LaFR10["text"] = u"Фамилия"

LaFR10["font"] = all_font

LaFR10.place(relx = 0.5, rely = 0.5 , anchor = "center")

self.Ent10 = Tkinter.Entry(LaFR10)

self.Ent10["width"] = 40

self.Ent10.insert("end" ,self.stud_inf.get("SName_P"))

self.Ent10 ["state"] = "disabled"

self.Ent10.pack()

LaFR11 = Tkinter.LabelFrame(LaFR_Date_2)

LaFR11["text"] = u"Отчество"

LaFR11["font"] = all_font

LaFR11.place(relx = 0.99, rely = 0.5 , anchor = "e")

self.Ent11 = Tkinter.Entry(LaFR11)

self.Ent11["width"] = 40

self.Ent11.insert("end" ,self.stud_inf.get("LName_P"))

self.Ent11 ["state"] = "disabled"

self.Ent11.pack()

LaFR_Date_3 = Tkinter.LabelFrame(self.FRC)

LaFR_Date_3["text"] = u"Тема дипломного проэкта"

LaFR_Date_3["font"] = all_font

LaFR_Date_3.place(relx = 0.01, rely = 0.32, anchor = "nw")

self.ST =ScrolledText.ScrolledText(LaFR_Date_3,background="white")

self.ST.insert("end" ,self.stud_inf.get("Theme"))

self.ST["width"] = 150

self.ST["height"] =7

self.ST["state"] = "disabled"

self.ST.pack()

LaFR_Date_4 = Tkinter.LabelFrame(self.FRC)

LaFR_Date_4["text"] = u"Данные о дипломном проэкте"

LaFR_Date_4["font"] = all_font

LaFR_Date_4.place(relx = 0.01, rely = 0.55, anchor = "w")

LaFR_Date_4["width"] = 924

LaFR_Date_4["height"] = 90

LaFR12 = Tkinter.LabelFrame(LaFR_Date_4)

LaFR12["text"] = u"Количество страниц"

LaFR12["font"] = all_font

LaFR12.place(relx = 0.01, rely = 0.5 , anchor = "w")

self.Ent12 = Tkinter.Entry(LaFR12)

self.Ent12["width"] = 32

self.Ent12.insert("end" ,self.stud_inf.get("page"))

self.Ent12 ["state"] = "disabled"

self.Ent12.pack()

LaFR13 = Tkinter.LabelFrame(LaFR_Date_4)

LaFR13["text"] = u"Количество плакатов"

LaFR13["font"] = all_font

LaFR13.place(relx = 0.38, rely = 0.5 , anchor = "center")

self.Ent13 = Tkinter.Entry(LaFR13)

self.Ent13["width"] = 32

self.Ent13.insert("end" ,self.stud_inf.get("plac"))

self.Ent13 ["state"] = "disabled"

self.Ent13.pack()

LaFR14 = Tkinter.LabelFrame(LaFR_Date_4)

LaFR14["text"] = u"Количество рисунков"

LaFR14["font"] = all_font

LaFR14.place(relx = 0.52, rely = 0.5 , anchor = "w")

self.Ent14 = Tkinter.Entry(LaFR14)

self.Ent14["width"] = 32

self.Ent14.insert("end" ,self.stud_inf.get("pict"))

self.Ent14 ["state"] = "disabled"

self.Ent14.pack()

LaFR15 = Tkinter.LabelFrame(LaFR_Date_4)

LaFR15["text"] = u"Количество таблиц"

LaFR15["font"] = all_font

LaFR15.place(relx = 0.99, rely = 0.5 , anchor = "e")

self.Ent15 = Tkinter.Entry(LaFR15)

self.Ent15["width"] = 32

self.Ent15.insert("end" ,self.stud_inf.get("tabl"))

#print self.stud_inf.get("tabl")

self.Ent15 ["state"] = "disabled"

self.Ent15.pack()

def number_1 (event = None):

p_n("1")

def number_2 (event = None):

p_n("-1")

def p_n (event = None):

#print self.number_of_path

#print string.atoi(event)

self.number_of_path = self.number_of_path + string.atoi(event)

print self.number_of_path

if self.number_of_path < 0:

self.number_of_path = 0

else:

try:

m = res_data[self.number_of_path]

except:

self.number_of_path = self.number_of_path - 1

inform(self.number_of_path)

#Создание кнопок

But1 = Tkinter.Button(self.FRC)

But1["bg"] = "white"

But1["bd"] = "1m"

But1 ["font"] = all_font

But1["relief"] = "raised"

But1.place(relx = 0.5, rely = 0.85, anchor = "center")

But1["text"] = u"Завершить просмотр"

But1.bind("<Button-1>",otmena)

def __delattr__ (self, a):

self.FRC.destroy()

#print u"ok))))))))))))))))))"

if __name__ == "__main__":

root = Tkinter.Tk()

root.geometry("1024x768+0+0")

all_font = tkFont.Font()

all_font ["family"] = "Helvetica"

all_font ["size"] = 14

all_font ["weight"] = "normal"

number_of_path = 2

res_data = [{'Spec': 'AAG', 'Name_S': 'B', 'Name_P': 'B', 'pict': '3', 'God_1': '1993', 'tabl': '4', 'Mark': '5', 'SName_P': 'B', 'Theme': 'B\n', 'SName_S': 'B', 'Grup': 'TM-71B', 'LName_P': 'B', 'plac': '2', 'LName_S': 'B', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}, {'Spec': 'AAG', 'Name_S': 'D', 'Name_P': 'D', 'pict': '3', 'God_1': '1993', 'tabl': '5', 'Mark': '5', 'SName_P': 'D', 'Theme': 'D\n', 'SName_S': 'D', 'Grup': 'TM-71B', 'LName_P': 'D', 'plac': '2', 'LName_S': 'D', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}, {'Spec': 'AAG', 'Name_S': 'Q', 'Name_P': 'Q', 'pict': '3', 'God_1': '1993', 'tabl': '4', 'Mark': '4', 'SName_P': 'Q', 'Theme': 'Q\n', 'SName_S': 'Q', 'Grup': 'TM-71B', 'LName_P': 'Q', 'plac': '2', 'LName_S': 'Q', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}]

preview_find(root,all_font,res_data,number_of_path)

root.mainloop()

Направления улучшения.

- в программу можно добавить функцию распознавания орфографических ошибок. Что существенно поможет при составлении и поиске дипломных проектов.

- можно добавить «справку», что поможет пользователю детальней узнать о программе и помочь ему в работе с ней.

- так же, можно сделать «резервное копирование», что поможет сохранить текущие введённые данные в отдельную папку.

Вывод

Мы сделали программу для создания и хранения базы данных о дипломных проектах. Хранится БД в папке TM_Base и далее в 3х папках бакалавр, магистр или специалист.

Эта программа может быть полезной и актуальной, так как похожих программ нету, а без этой программы работать с дипломными проектами довольно трудно.

Список использованной литературы:

  1. Россум Г. Язык программирования python

  2. Б.А. Курс по библиотеке Tkinter языка python

  3. Б.А. Язык программирования python Ч1-Ч3

  4. Шипман Д.Д. Tkinter 8.4. GUI for python

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]