zuzu
Май 26, 2014 08:46:52
но это работает как отдельная функция, если я вставляю в общий каскад, где идет подряд: запуск, поиск файла, его выбор, открытие и вот тут есшли я немножко видоизменив Вашу функцию, попадаю в тупик или копируется первая строка + ошибка, или не копируется вообще.
в любом случае спасибо за помощь
4kpt_II
Май 26, 2014 19:09:02
Ваш код. Нужен код.
zuzu
Май 26, 2014 20:05:42
попробую еще сам сегодня разобраться
zuzu
Май 26, 2014 23:16:27
Задача: в tkinter выбирать файл, загружать из него данные, а в файле координаты:
x1, y1
x2, y2
……
xn, yn
на основе координат создаются линии, а из них состоится фигура.
Дальше нужно получить длинну сторон, показав текстом это значение над линиями.
вот что есть и как я это понимаю:
from tkinter import *
from tkinter.filedialog import *
from tkinter.messagebox import *
import fileinput
def close_win():
if askyesno(“Exit”, “Do you want to?”):
root.destroy()
#до сюда все ок
def _open():
op = askopenfilename()
koordinaty=
print (result)
#указ открыть файл, но как извлечь данные в формате, для рисования?
# koordinaty - в моем понимании из файла идет string, в float не перевел
def figura():#этим я собираюсь рисовать
x,y=0,0
c.line(gory,x,y)
root = Tk()
c=Canvas(root,width=700,height=500)# тут нужно подстроться самые крупные точки
m = Menu(root)
root.config(menu=m)
fm = Menu(m)
m.add_cascade(label=“Open file”,menu=fm)
fm.add_command(label=“Browse…”,command=_open)
fm.add_command(label=“Exit”,command=close_win)
txt = Text(root,width=41,height=16,font=“14”)
hm = Menu(m)
txt.pack()
c.pack()
figura=c.create_line(koordinaty,width=3,fill=“blue”)
root.mainloop()
#моя главная проблеа импорт данных
4kpt_II
Май 27, 2014 12:40:58
Держите. Остальные расчеты и построения попытайтесь реализовать самостоятельно.
import Tkinter
import tkFileDialog
#
#
def open_and_read():
with tkFileDialog.askopenfile() as file_:
x_data = []
y_data = []
for line in file_:
data = line.strip().split(", ")
x_data.append(int(data[0]))
y_data.append(int(data[1]))
print zip(x_data, y_data)
print "width canvas: ", max(x_data) + 10
print "height canvas: ", max(y_data) + 10
#
root = Tkinter.Tk()
root.geometry("400x400+100+100")
#
bar = Tkinter.Menu(root)
first_column = Tkinter.Menu(bar)
first_column.add_command(label="open", command=open_and_read)
bar.add_cascade(label="first_column", menu=first_column)
root.config(menu=bar)
#
root.mainloop()
zuzu
Июнь 4, 2014 00:21:09
Eсли често, не справился, хотя читал и смотрел много, если често, не справился, хотя читал и смотрел много?
zuzu
Июнь 4, 2014 00:22:11
zuzu
Eсли често, не справился, хотя читал и смотрел много, если често, не справился, хотя читал и смотрел много?
4kpt_II
Июнь 4, 2014 11:41:46
Вам нужно что-то почитать. Рекомендую М. Лутца. Третье издание.
zuzu
Июнь 4, 2014 16:28:21
как раз его и читаю…
zuzu
Июнь 11, 2014 20:16:07
хотел спросить, а как в Python 3.x мне лучше соеденить координаты в один список?
def openfile():
fn = askopenfilename()
x_data =
y_data =
for line in fileinput.input(fn):
#for line in fn:
data = line.strip().split(“, ”)
x_data.append(int(data))
y_data.append(int(data))
print(data)
print(x_data)
print(y_data)
print (zip(data))
print(data)
я могу сделать новый список, но там скобки и кавычки