Yangyubin 发表于 2022-3-16 16:11:34

tkinter中怎么把页面设计语句与方法分开在不同的py页面中

import tkinter as tk
from tkinter import scrolledtext
from tkinter import ttk
import math
win =tk.Tk()
# 设置主窗口
win.title("CIELAB")
win.geometry('1068x681+100+50')
def count():
    Lstd=float(entry1.get())
    astd=float(entry2.get())
    bstd=float(entry3.get())
    fetched_content =
    fetched_content = list(map(list, zip(*fetched_content)))
    Lsp = fetched_content
    asp = fetched_content
    bsp = fetched_content
    if cbox.get() == 'CIELAB':
      CIELAB(Lstd,astd,bstd,Lsp,asp,bsp)
    elif cbox.get() == 'CMC':
      CMC(Lstd,astd,bstd,Lsp,asp,bsp)
    elif cbox.get() == 'CIE94':
      CIE94(Lstd,astd,bstd,Lsp,asp,bsp)
    elif cbox.get() == 'CIE2000':
      CIE2000(Lstd,astd,bstd,Lsp,asp,bsp)
def CIELAB(Lstd,astd,bstd,Lsp,asp,bsp):
    e = 0
    while e < len(Lsp):
      DL = Lsp-Lstd
      Csp = (asp**2+bsp**2)**(1/2)
      Cstd = (astd**2 + bstd**2)**(1/2)
      DCs=Csp-Cstd
      Da=asp-astd
      Db=bsp-bstd
      DCc=(Da**2+Db**2)**(1/2)
      DH=(DCc**2-DCs**2)**(1/2)
      DE=(DL**2+DCs**2+DH**2)**(1/2)
      scr2.insert('end', DE)
      scr2.insert(tk.INSERT, '\n')
      e=e+1
def CMC(Lstd,astd,bstd,Lsp,asp,bsp):
    e = 0
    while e < len(Lsp):
      DL = Lsp - Lstd
      Csp = (asp ** 2 + bsp ** 2) ** (1 / 2)
      Cstd = (astd ** 2 + bstd ** 2) ** (1 / 2)
      DCs = Csp - Cstd
      Da = asp - astd
      Db = bsp - bstd
      DCc = (Da ** 2 + Db ** 2) ** (1 / 2)
      DH = (DCc ** 2 - DCs ** 2) ** (1 / 2)
      hstd=math.atan(bstd/astd)
      if hstd>=164 and hstd<345:
            t=0.56+abs(0.2*math.cos(hstd+168))
      else:
            t=0.36+abs(0.4*math.cos(hstd+35))
      if Lstd<16:
            SL=0.511
      else:
            SL=(0.040975*Lstd)/(1+0.01765*Lstd)
      SC=0.0638*Cstd/(1+0.0131*Cstd)+0.638
      f=(Cstd**4/(Cstd**4+1900))**(1/2)
      SH=SC*(t*f+1-f)
      DE = ((DL/2*SL)**2 + (DCs/SC)**2 + (DH/SH)**2)** (1/2)
      scr2.insert('end', '{:.4f}'.format(DE))
      scr2.insert(tk.INSERT, '\n')
      e = e + 1
def CIE94(Lstd,astd,bstd,Lsp,asp,bsp):
    print('CIE94()')
def CIE2000(Lstd,astd,bstd,Lsp,asp,bsp):
    print('CIE2000()')
label1=tk.Label(win,text="标样",width=10,font=("隶书", 18)).place(x=160,y=30)
label2=tk.Label(win,text="试样",width=10,font=("隶书", 18)).place(x=580,y=30)
label3=tk.Label(win,text="L*\ta*\tb*").place(x=150,y=60)
label4=tk.Label(win,text="L*\ta*\tb*").place(x=600,y=60)
entry1=tk.Entry(win)
entry1.place(x=130,y=80,width=50)
entry2=tk.Entry(win)
entry2.place(x=190,y=80,width=50)
entry3=tk.Entry(win)
entry3.place(x=250,y=80,width=50)
scr1 = scrolledtext.ScrolledText(win, width=25, height=7)
scr1.place(x=550,y=80)
label3=tk.Label(win,text="色差值",width=10, font=("隶书", 18)).place(x=400,y=200)
scr2 = scrolledtext.ScrolledText(win, width=25, height=7)
scr2.place(x=370,y=230)
cbox=ttk.Combobox(win)
cbox.place(x=250,y=400)
cbox['value'] = ('CIELAB','CMC','CIE94','CIE2000')
cbox.bind("<<ComboboxSelected>>")
b = tk.Button(win, text="计算",width=5,height=1,bg="pink",command=count).place(x=450,y=400)
win.mainloop()

这个怎么把页面设计代码与上面的方法放在不同的.py文件中,然后在不同的py文件中调用,因为上面还有方法没有弄完,内容太多了,想要分开
希望大佬给点建议

学会了 发表于 2022-3-17 14:08:29

:hug:;P:kiss:
页: [1]
查看完整版本: tkinter中怎么把页面设计语句与方法分开在不同的py页面中