#python #tkinter
#python #tkinter
Вопрос:
Я написал фрагмент для Trigno Fun, но я не могу понять, почему IDLE сообщает мне, что в моем коде все еще есть ошибка.
Вот мой код:
from tkinter import *
import math
## constant for slope
## and fixed 3 points
ee = 0.04
x1=y1=y2=0
x2=10
x3=5
y3=5*math.sqrt(3)
PrevX = 0
PrevY = 150
## Scales the Line
def scale(x,y,xx,yy):
x=x*20 100
y=y*20 100
xx=xx*20 100
yy=yy*20 100
return(x,y,xx,yy)
root = Tk()
root.title("Trigno fun 1")
canvas = Canvas(width=400,height=300,bg='white')
canvas.create_line(scale(x1,y1,x2,y2),fill='red')
canvas.create_line(scale(x2,y2,x3,y3),fill='red')
canvas.create_line(scale(x3,y3,x1,y1),fill='red')
## positions shifted/swapped till 100th point
## using 3 fixed points
for i in range(0,100):
x4 = ee*x2 (1-ee)*x3
y4 = ee*y2 (1-ee)*y3
canvas.create_line(scale(x4,y4,x1,y1),fill='red')
x3=x2
y3=y2
x2=x1
y2=y1
x1=x4
y1=y4
canvas.pack()
mainloop()
И это вывод:
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
<ipython-input-17-533e2c3f76bc> in <module>()
----> 1 roots = Tk()
2 root.title("Trigno Fun")
3 canvas = Canvas(width=400, height=300, bg='white')
4 canvas.create_line(scale(x1,y1,x2,y2), fill='red')
5 canvas.create_line(scale(x2,y2,x3,y3), fill='red')
/usr/lib/python3.6/tkinter/__init__.py in __init__(self, screenName, baseName, className, useTk, sync, use)
2021 baseName = baseName ext
2022 interactive = 0
-> 2023 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
2024 if useTk:
2025 self._loadtk()
TclError: no display name and no $DISPLAY environment variable
Насколько я понимаю, мой код в порядке, но он показывает ошибку, не знаю почему?
Может кто-нибудь подсказать мне, в чем проблема в моем коде?
Комментарии:
1. Возможно, потому, что ваша среда IDE не поддерживает использование окна, скопируйте код в какую-либо другую среду IDE, возможно, python ПРОСТАИВАЕТ
2. Я просто попытался скопировать ваш код, и он отлично работает в PyCharm
3. Вы используете ipython / Jupyter, а не Python IDLE. Как указано в ошибке, в вашей среде либо нет графического рабочего стола , либо не установлена переменная среды отображения .
4. В colab и когда я выполняю скрипт с помощью pyinstaller, он показывает TclError. В Jupyter Notebook и других IDE скрипт работает правильно.