Менеджер компонентов Python+Tkinter

Тема в разделе "Linux", создана пользователем koteika, 19 ноя 2014.

  1. koteika

    koteika В доску свой

    Сообщения:
    768
    Симпатии:
    118
    Род занятий:
    программирование
    Вчера загорелся идейкой написать менеджер электронных компонентов. В общем сюда буду скидывать свои успехи..

    Начал с gui. С помощью проги PAGE сгенерировал исходник интерфейса.

    Сейчас он выглядит так:
    Screenshot - 19.11.2014 - 16:24:40.png

    Стало по красивше чем)))

    Исходник интерфейса:

    Код:
    #! /usr/bin/env python
    #
    # GUI module generated by PAGE version 4.3.2
    # In conjunction with Tcl version 8.6
    #    Nov 19, 2014 04:27:52 PM
    import sys
    
    try:
        from Tkinter import *
    except ImportError:
        from tkinter import *
    
    try:
        import ttk
        py3 = 0
    except ImportError:
        import tkinter.ttk as ttk
        py3 = 1
    
    import unknown_support
    
    def vp_start_gui():
        '''Starting point when module is the main routine.'''
        global val, w, root
        root = Tk()
        root.title('Менеджер_компонентов')
        root.geometry('600x450+455+160')
        unknown_support.set_Tk_var()
        w = Менеджер_компонентов (root)
        unknown_support.init(root, w)
        root.mainloop()
    
    w = None
    def create_Менеджер_компонентов (root, param=None):
        '''Starting point when module is imported by another program.'''
        global w, w_win, rt
        rt = root
        w = Toplevel (root)
        w.title('Менеджер_компонентов')
        w.geometry('600x450+455+160')
        unknown_support.set_Tk_var()
        w_win = Менеджер_компонентов (w)
        unknown_support.init(w, w_win, param)
        return w_win
    
    def destroy_Менеджер_компонентов ():
        global w
        w.destroy()
        w = None
    
    
    class Менеджер_компонентов:
        def __init__(self, master=None):
            _bgcolor = '#d9d9d9'  # X11 color: 'gray85'
            _fgcolor = '#000000'  # X11 color: 'black'
            _compcolor = '#d9d9d9' # X11 color: 'gray85'
            _ana1color = '#d9d9d9' # X11 color: 'gray85'
            _ana2color = '#d9d9d9' # X11 color: 'gray85'
            self.style = ttk.Style()
            if sys.platform == "win32":
                self.style.theme_use('winnative')
            self.style.configure('.',background=_bgcolor)
            self.style.configure('.',foreground=_fgcolor)
            self.style.configure('.',font="TkDefaultFont")
            self.style.map('.',background=
                [('selected', _compcolor), ('active',_ana2color)])
            master.configure(background="#ffffff")
    
    
            self.menubar = Menu(master,bg=_bgcolor,fg=_fgcolor)
            master.configure(menu = self.menubar)
    
    
    
            self.Frame1 = Frame (master)
            self.Frame1.place(relx=0.45,rely=0.09,relheight=0.9,relwidth=0.54)
            self.Frame1.configure(relief=GROOVE)
            self.Frame1.configure(borderwidth="2")
            self.Frame1.configure(relief=GROOVE)
            self.Frame1.configure(background="#ffffff")
            self.Frame1.configure(width=325)
    
            self.Frame2 = Frame (master)
            self.Frame2.place(relx=0.45,rely=0.01,relheight=0.08,relwidth=0.54)
            self.Frame2.configure(relief=GROOVE)
            self.Frame2.configure(borderwidth="2")
            self.Frame2.configure(relief=GROOVE)
            self.Frame2.configure(background="#ffffff")
            self.Frame2.configure(width=325)
    
            self.Label6 = Label (self.Frame2)
            self.Label6.place(relx=0.17,rely=0.23,height=19,width=27)
            self.Label6.configure(background="#ffffff")
            self.Label6.configure(text='''Тип''')
    
            self.TCombobox2 = ttk.Combobox (self.Frame2)
            self.TCombobox2.place(relx=0.31,rely=0.23,relheight=0.54,relwidth=0.54)
            self.TCombobox2.configure(textvariable=unknown_support.combobox)
            self.TCombobox2.configure(takefocus="")
    
            self.Frame3 = Frame (master)
            self.Frame3.place(relx=0.0,rely=0.91,relheight=0.08,relwidth=0.44)
            self.Frame3.configure(relief=GROOVE)
            self.Frame3.configure(borderwidth="2")
            self.Frame3.configure(relief=GROOVE)
            self.Frame3.configure(background="#ffffff")
            self.Frame3.configure(width=265)
    
            self.Button1 = Button (self.Frame3)
            self.Button1.place(relx=0.11,rely=0.11,height=27,width=67)
            self.Button1.configure(activebackground="#fc039b")
            self.Button1.configure(activeforeground="white")
            self.Button1.configure(background="#ff1900")
            self.Button1.configure(text='''Выход''')
    
            self.Button2 = Button (self.Frame3)
            self.Button2.place(relx=0.53,rely=0.09,height=27,width=107)
            self.Button2.configure(activebackground="#d9d9d9")
            self.Button2.configure(background="#ff1900")
            self.Button2.configure(text='''О программе''')
            self.Button2.configure(width=107)
    
            self.Frame4 = Frame (master)
            self.Frame4.place(relx=0.0,rely=0.39,relheight=0.52,relwidth=0.44)
            self.Frame4.configure(relief=GROOVE)
            self.Frame4.configure(borderwidth="2")
            self.Frame4.configure(relief=GROOVE)
            self.Frame4.configure(background="#ffffff")
            self.Frame4.configure(width=265)
    
            self.Label1 = Label (self.Frame4)
            self.Label1.place(relx=0.11,rely=0.02,height=19,width=186)
            self.Label1.configure(activebackground="#ffffff")
            self.Label1.configure(background="#ffffff")
            self.Label1.configure(text='''Редактирование компонента''')
    
            self.Label2 = Label (self.Frame4)
            self.Label2.place(relx=0.04,rely=0.13,height=19,width=96)
            self.Label2.configure(background="#ffffff")
            self.Label2.configure(text='''Наименование''')
    
            self.Entry1 = Entry (self.Frame4)
            self.Entry1.place(relx=0.42,rely=0.13,relheight=0.09,relwidth=0.55)
            self.Entry1.configure(background="white")
            self.Entry1.configure(font="TkFixedFont")
            self.Entry1.configure(width=146)
    
            self.Label3 = Label (self.Frame4)
            self.Label3.place(relx=0.04,rely=0.35,height=19,width=78)
            self.Label3.configure(background="#ffffff")
            self.Label3.configure(text='''Количество''')
    
            self.Entry2 = Entry (self.Frame4)
            self.Entry2.place(relx=0.42,rely=0.35,relheight=0.09,relwidth=0.55)
            self.Entry2.configure(background="white")
            self.Entry2.configure(font="TkFixedFont")
            self.Entry2.configure(width=146)
    
            self.Label4 = Label (self.Frame4)
            self.Label4.place(relx=0.04,rely=0.24,height=19,width=27)
            self.Label4.configure(background="#ffffff")
            self.Label4.configure(text='''Тип''')
    
            self.TCombobox1 = ttk.Combobox (self.Frame4)
            self.TCombobox1.place(relx=0.25,rely=0.24,relheight=0.08,relwidth=0.71)
            self.TCombobox1.configure(textvariable=unknown_support.combobox)
            self.TCombobox1.configure(width=187)
            self.TCombobox1.configure(takefocus="")
    
            self.Label5 = Label (self.Frame4)
            self.Label5.place(relx=0.02,rely=0.49,height=19,width=82)
            self.Label5.configure(background="#ffffff")
            self.Label5.configure(text='''Примечание''')
    
            self.Text1 = Text (self.Frame4)
            self.Text1.place(relx=0.04,rely=0.6,relheight=0.37,relwidth=0.93)
            self.Text1.configure(background="white")
            self.Text1.configure(font="TkTextFont")
            self.Text1.configure(selectbackground="#c4c4c4")
            self.Text1.configure(width=246)
            self.Text1.configure(wrap=WORD)
    
            self.Frame5 = Frame (master)
            self.Frame5.place(relx=0.0,rely=0.01,relheight=0.37,relwidth=0.44)
            self.Frame5.configure(relief=GROOVE)
            self.Frame5.configure(borderwidth="2")
            self.Frame5.configure(relief=GROOVE)
            self.Frame5.configure(background="#ffffff")
            self.Frame5.configure(width=265)
    
            self.Label7 = Label (self.Frame5)
            self.Label7.place(relx=0.17,rely=0.04,height=19,width=153)
            self.Label7.configure(background="#ffffff")
            self.Label7.configure(text='''Работа с компонентами''')
    
            self.Button3 = Button (self.Frame5)
            self.Button3.place(relx=0.15,rely=0.18,height=27,width=88)
            self.Button3.configure(activebackground="#d9d9d9")
            self.Button3.configure(background="#ff1900")
            self.Button3.configure(text='''Удалить''')
            self.Button3.configure(width=88)
    
            self.Button4 = Button (self.Frame5)
            self.Button4.place(relx=0.49,rely=0.18,height=27,width=86)
            self.Button4.configure(activebackground="#d9d9d9")
            self.Button4.configure(background="#ff1900")
            self.Button4.configure(text='''Создать''')
            self.Button4.configure(width=86)
    
            self.Button5 = Button (self.Frame5)
            self.Button5.place(relx=0.13,rely=0.4,height=27,width=180)
            self.Button5.configure(activebackground="#d9d9d9")
            self.Button5.configure(background="#ff1900")
            self.Button5.configure(text='''Редактировать''')
            self.Button5.configure(width=180)
    
    
    
    
    
    if __name__ == '__main__':
        vp_start_gui()
    
    


    Ну и собственно код сгенерировался с ошибкой, функции объявленны так:
    Код:
    w = None
    def create_Менеджер_компонентов (root, param=None):
        '''Starting point when module is imported by another program.'''
        global w, w_win, rt
        rt = root

    Присутствуют русские символы в названии функци... Ну это исправим..
  2. SeregaZ

    SeregaZ В доску свой

    Сообщения:
    391
    Симпатии:
    38
    а "количество" зачем?
  3. koteika

    koteika В доску свой

    Сообщения:
    768
    Симпатии:
    118
    Род занятий:
    программирование
    Ну типо знать сколько в закромах таких элементов) все не считать а микрухи например можно

Поделиться этой страницей