Я не могу обратиться к записи float в tkinter и использовать его - PullRequest
0 голосов
/ 14 декабря 2018

Я был бы рад, если бы кто-нибудь мог помочь мне выполнить мою задачу по созданию чертежа в dxf.Несмотря на то, что все работает без графического интерфейса, мне трудно получить запись из поля ввода tkinter.Я использую a = self.a.get (), но кажется, что он не берет номер из записи.Вот что я сделал:

from tkinter import *
import dxfwrite
from dxfwrite import DXFEngine as dxf

class GUI(Frame):

  def __init__(self, master=None):
    Frame.__init__(self, master)
    self.grid()
    self.fnameLabel = Label(master, text="height: ")
    self.fnameLabel.grid(row=2, column=0, sticky=W)
    self.a = DoubleVar()
    self.a = Entry(master)
    self.a.grid(row=2, column=1, sticky=W)
    self.submitButton = Button(master, command=self.buttonClick, 
    text="generate drawing")
    self.submitButton.grid()

  def buttonClick(self):
    a = self.a.get()
    drawing = dxf.drawing('test111.dxf')
    drawing.add_layer('lines')

    a = float()
    b = float()
    b = 0.05
    while True:
      drawing.add(dxf.line((0.03, b), (a, b), color=40, layer='lines'))
      b += 0.15
      if b >= a + 1:
        break

    drawing.save()

if __name__ == "__main__":  
  guiFrame = GUI()
  guiFrame.mainloop()

1 Ответ

0 голосов
/ 14 декабря 2018

Когда вы конвертируете строку в число с плавающей точкой, вы должны указать функции, что преобразовывать.Если вы не предоставите параметр, функция float вернет 0.0.

a = float()  # Returns 0.0
a = float(a) # Returns the float representation of a
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...