Найти - Пользователи
Полная версия: create_line
Начало » Python для новичков » create_line
1
Ess
Подскажите, create_line принимает в качестве аргументов х и y тип float
т.е так
create_line (0, 0, 0, 999999999) линия отрисуется
а так (если добавить еще одну 9)
create_line (0, 0, 0, 9999999999) линия Не отрисуется
я же нахожусь в размерности типа, ошибки нет, но почему линия не рисуется??
заранее спасибо
py.user.next
Полный код приведи.
Ess
 import tkinter as tk
App=tk.Tk()
canvas      = tk.Canvas(App, highlightthickness=0, width=800, height=600)
def OnCanvasMouse1Down(event):  
    App.title("clicked at: " + str(event.x) +' '+ str(event.y))  
    canvas.create_line(event.x, event.y, event.x, 99999999 , fill='green') #зеленая линия будет отрисована
    canvas.create_line(event.x, event.y, event.x, 9999999999, fill='red') # красная уже нет
canvas.bind("<Button-1>", OnCanvasMouse1Down)

т.е мне просто интересно при клике мышкой по канве, удалить y или х координату, т.е. фактически линия должна быть
py.user.next
У меня рисует красно-зелёные линии.

Такой код запускаю
  
#!/usr/bin/env python3
 
import tkinter as tk
 
App=tk.Tk()
canvas      = tk.Canvas(App, highlightthickness=0, width=800, height=600)
canvas.pack()
 
def OnCanvasMouse1Down(event):  
    App.title("clicked at: " + str(event.x) +' '+ str(event.y))  
    canvas.create_line(event.x, event.y, event.x, 99999999 , fill='green') #зеленая линия будет отрисована
    canvas.create_line(event.x, event.y, event.x, 9999999999, fill='red') # красная уже нет
 
canvas.bind("<Button-1>", OnCanvasMouse1Down)
App.mainloop()
Ess
py.user.next
У меня рисует красно-зелёные линии.

Подскажите, я не вижу красную линию, в чем может быть проблема??? если я уменьшаю значение координаты то красная линия отрисовывается. но при таком значении нет Возможно это как то зависит от операционной системы (я проверил на win 10, 8, 7) результат один и тоже красную линию не видать

и просто интересно , а какое графическое ядро использует pyton??? например на плюсах или делфи я мог выбирать - Gdi, gdi+, direct итд..

заранее спасибо!
py.user.next
Ess
Возможно это как то зависит от операционной системы
Может, и зависит. У меня Linux уже лет двадцать почти. А tkinter на каждой системе реализован по-своему. У него только интерфейс одинаковый везде, а реализации просто похожи на друг на друга по поведению.

Ess
и просто интересно , а какое графическое ядро использует pyton?
Он использует то, что предоставляет операционная система через свои библиотеки. Если что-то не будет установлено, он тебе скажет “установи это в систему”.

Ess
например на плюсах или делфи я мог выбирать
В питоне когда тебе надо что-то, ты ставишь дополнительные пакеты в систему через pip и потом их импортируешь и они подключаются. Так питон может проникать в эти установленные компоненты и использовать их для себя.
Ess
py.user.next
Он использует то, что предоставляет операционная система через свои библиотеки
тогда не совсем понятно, windows использует gdi, но для отрисовки оно принимает переменную целую в 32 бита т.е 2^31, питон же передает переменную дробную и намного большего размера…..

я потому свой вопрос и задал, т.е если я передам координату в размерности от -2147483648 до 2147483647 то винда отрисует корректно (как она и должна это делать), но если я изменю значение на +-1 то винда генерирует ошибку выцхода за размерность типа, но пайтон это глотает и даже блокирует ошибку операционной системы. Он просто ничего не рисует ((

мне просто было интересно ))
ZerG
Длина зависит от разрядности системы у вас везде х64?
Ess
ZerG
Длина зависит от разрядности системы у вас везде х64?
да
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB