【发布时间】:2014-09-25 19:55:09
【问题描述】:
我正在尝试制作一个计算器,在 Tkinter 的帮助下使用坐标查找多边形的区域。
到目前为止,我有以下...
from tkinter import *
class AreaCalculator:
def __init__ (self):
window = Tk()
window.title("Area CalCulator")
Label(window, text ="Coordiantes")
Label(window, text='X1').grid(row=1,column=1,sticky=W)
Label(window, text='X2').grid(row=2,column=1,sticky=W)
Label(window, text='X3').grid(row=3,column=1,sticky=W)
Label(window, text='X4').grid(row=4,column=1,sticky=W)
Label(window, text='X5').grid(row=5,column=1,sticky=W)
Label(window, text='X6').grid(row=6,column=1,sticky=W)
Label(window, text='Y1').grid(row=1,column=3)
Label(window, text='Y1').grid(row=1,column=3)
Label(window, text='Y2').grid(row=2,column=3)
Label(window, text='Y3').grid(row=3,column=3)
Label(window, text='Y4').grid(row=4,column=3)
Label(window, text='Y5').grid(row=5,column=3)
Label(window, text='Y6').grid(row=6,column=3)
Label(window, text="Area1").grid(row=7,column=1)
Label(window, text="Area2").grid(row=7,column=3)
Label(window, text="Total Area").grid(row=8,column=2)
self.X1 = StringVar()
Entry(window, textvariable=self.X1).grid(column=2,row=1)
self.X2 = StringVar()
Entry(window, textvariable=self.X2).grid(column=2,row=2)
self.X3 = StringVar()
Entry(window, textvariable=self.X3).grid(column=2,row=3)
self.X4 = StringVar()
Entry(window, textvariable=self.X4).grid(column=2,row=4)
self.X5 = StringVar()
Entry(window, textvariable=self.X5).grid(column=2,row=5)
self.X6 = StringVar()
Entry(window, textvariable=self.X6).grid(column=2,row=6)
self.Y1 = StringVar()
Entry(window, textvariable=self.Y1).grid(column=4,row=1,sticky=E)
self.Y2 = StringVar()
Entry(window, textvariable=self.Y2).grid(column=4,row=2,sticky=E)
self.Y3 = StringVar()
Entry(window, textvariable=self.Y3).grid(column=4,row=3,sticky=E)
self.Y4 = StringVar()
Entry(window, textvariable=self.Y4).grid(column=4,row=4,sticky=E)
self.Y5 = StringVar()
Entry(window, textvariable=self.Y5).grid(column=4,row=5,sticky=E)
self.Y6 = StringVar()
Entry(window, textvariable=self.Y6).grid(column=4,row=6,sticky=E)
self.Area1=StringVar()
labelArea1=Label(window,textvariable=self.Area1).grid(column=2,row=7)
self.Area2=StringVar()
labelArea2=Label(window,textvariable=self.Area2).grid(column=4,row=7)
self.TotalArea=StringVar
Label(window,textvariable=self.TotalArea).grid(column=3,row=8)
btSolve=Button(window,text="Solve",command=self.Solve).grid(row=9,column=4)
window.mainloop()
def Solve(self):
Area1=self.getArea1(int(self.X1.get()),int(self.X2.get()),
int(self.X3.get()),int(self.X4.get()),
int(self.X5.get()),int(self.X6.get()),
int(self.Y1.get()),int(self.Y2.get()),
int(self.Y3.get()),int(self.Y4.get()),
int(self.Y5.get()),int(self.Y6.get()))
Area2=self.getArea2(int(self.X1.get()),int(self.X2.get()),
int(self.X3.get()),int(self.X4.get()),
int(self.X5.get()),int(self.X6.get()),
int(self.Y1.get()),int(self.Y2.get()),
int(self.Y3.get()),int(self.Y4.get()),
int(self.Y5.get()),int(self.Y6.get()))
TotalArea=((self.Area1.get())*(self.Are2.get()))/2
def Area1(self,X1,X2,X3,X4,X5,X6,Y1,Y2,Y3,Y4,Y5,Y6): # note
Area1 = # incomplete syntax
AreaCalculator()
【问题讨论】:
-
您的代码到底有什么问题? (我还没有读过,但是一些快速的指导可以帮助你得到一些答案)
-
在 def Solve(self): 部分,我不知道该放什么……哈哈哈哈哈哈……应该听我的教授的话……哈哈哈哈哈哈
-
您的问题是什么?你有什么问题?
-
我想制作(嗯,我的教授希望我们制作)一个计算器,它可以通过使用坐标解决任何多边形的区域。我在“def Solve(self)”上遇到了一点困难:" 部分,我应该使用什么元素,这就是为什么它没有完成......希望有人能帮助我......
-
@MykNac 好的,请检查案例 B:下面并可以谷歌算法化 Delaunay 三角剖分和平面几何 N 顶点多边形面积微积分的类似方法