Как подключить графический интерфейс калькулятора к графическому интерфейсу? - PullRequest
0 голосов
/ 26 ноября 2018

Я хочу связать графический интерфейс калькулятора с графическим интерфейсом функций.Например, если я нажму «sinx» на калькуляторе, график (который является функцией синуса) будет отображаться в графическом интерфейсе.Как я могу это сделать?

  1. Код графического интерфейса калькулятора

    из tkinter import * window = Tk () window.title ("해대 비주얼") '' top_row = Frame (окно) top_row.grid (строка = 0, столбец = 0, размер столбца = 2, наклейка = N) display = запись (top_row, ширина = 35, bg = "голубой") display.grid ()

    num_pad = Frame(window)
    num_pad.grid(row=1, column=0, sticky=W)
    num_pad_list = [
        '7','8','9',
        '4','5','6',
        '1','2','3',
        '0','.','=']
    r = 0
    c = 0
    for btn_text in num_pad_list:
        def cmd(x=btn_text):
            click(x)
        Button(num_pad, text=btn_text, width=5, command=cmd).grid(row=r, column=c)
        c = c + 1
        if c > 2:
            c = 0
            r = r + 1
    
    
    
    
    operator = Frame(window)
    operator.grid(row=1, column=1, sticky=E)
    operator_list = [
        '*','/',
        '+','-',
        '(',')',
        '^','C']
    r = 0
    c = 0
    for btn_text in operator_list:
        def cmd(x=btn_text):
            click(x)
        Button(operator, text=btn_text, width=5, command=cmd).grid(row=r, column=c)
        c = c + 1
        if c > 1:
            c = 0
            r = r + 1
    
    
    
    etc = Frame(window)
    etc.grid(row=50, column=0, sticky=S)
    etc_list = ['pi','sin','cos','x']
    r = 0
    c = 0
    for btn_text in etc_list:
        def cmd(x=btn_text):
            click(x)
        Button(etc, text=btn_text, width=5, command=cmd).grid(row=r, column=c)
        r = 0
        c = c + 1
    
    def click(key):
        if key == "=":
            try:
                if "^" in display.get():
                    n = display.get().split(sep="^")
                    result = str(float(n[0]) ** float(n[1]))
                    display.insert(END, " = " + result)
                else:
                    result = str(eval(display.get()))[0:10]
                    display.insert(END, " = " + result)
            except:
                display.insert(END, " --> Error!")
        elif key == "C":
            display.delete(0, END)
        elif key == etc_list[0]:
            import math
            display.insert(END, math.pi)
        else:
            display.insert(END, key)
    
    
    window.mainloop()
    

2. Код графического интерфейса пользователя

 from tkinter import *
    graph = Tk()
    graph.title("해대비주얼 그래프")
    ''
    graph.geometry("1000x700")
    ''
...