#1 Le 11/03/2020, à 09:20
- Compte supprimé
Tkinter .create_text, bug d'affichage sur la 18.04?
Bonjour,
J'ai un affichage du text can.create_text altéré (il ne se restitue que partiellement) lors du passage d'un sprite par-dessus. J'ai pu constater ce phénomène sur 3 pc qui sont sur ubuntu 18.04 Mate.
Aucun souci en utilisant ubuntu 16.04 (MAte) et son ppa python3.6.
Voici un exemple de code pouvant mettre en valeur ce défaut d'affichage:
import tkinter as tk
fen = tk.Tk()
can=tk.Canvas(fen,width=1680,height=1080,background='black')
can.pack()
mots = can.create_text(int(960), int(100),
text="XXXsalut mon grandXXX",
font=("Courrier", int(100), 'bold'),
anchor='center', fill="red")
photo = tk.PhotoImage(file="/tmp/image.png")
bidulle = can.create_image(0,0,anchor= 'nw', image=photo)
while True:
compteur = 1300
while compteur:
can.move(bidulle,2,0)
fen.update()
compteur -= 2
compteur = 1300
while compteur:
can.move(bidulle,-1,0)
fen.update()
compteur -= 1
Voici à quoi ressemble l'affichage de can.create_text après le passage du sprite (le mien fait 290*290):
Confirmez vous le bug?
Dernière modification par Compte supprimé (Le 11/03/2020, à 09:21)
#2 Le 11/03/2020, à 09:32
- bipede
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
J'ai testé sur la 19.10 avec python 3 et je n'ai pas le soucis...
Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.
Mon site: Les contributions du bipède
Hors ligne
#3 Le 11/03/2020, à 09:38
- Compte supprimé
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
Merci bipede,
Donc il s'agirait d'un bug lié à la 18.04 (mate?) . Si quelqu'un peut le confirmer...
#4 Le 12/03/2020, à 09:52
- Compte supprimé
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
Bonjour,
J'ai fait une recherche sur le net avec pour mots clefs bug tkinter create_text, je n'ai rien trouvé qui évoque mon bug... (je n'ai peut être pas su chercher)
Auprès de qui et comment fait-on remonter ce bug ?
#5 Le 12/03/2020, à 17:27
- kholo
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
salut,
j'ai surtout cherché à comprendre le code...
pas tout pigé là...
pas de mainloop ? c'est fen.update() qui fait la boucle d'affichage ?
c'est quoi les propriétés du png
c'est un sprite qui passe devant du texte... c'est ça... ?
tu pack() le canvas et pas le reste ?
je m'y remet en ce moment donc ça m'interpelle... mais je flotte un peu là !
j'ai du 16.04 et du 18.04 sous la main donc je peux tenter des trucs dans différentes conf...
edit :
bon quand j'ai écrit, je ne voyais même pas le gif de 500 octets tellement il est petit...
donc avec un gif de 6ko ça se promène... mais au dessus du texte.. !!!
et tiens encore une question :
=> pourquoi les int(d'un int)... mais je suppose que c'était des variables à la base !
edit 2 :
je confirme ; sur une 18.04 D => G ça paume du texte,
dans l'autre sens, ça le remet...
Dernière modification par kholo (Le 12/03/2020, à 17:51)
Hors ligne
#6 Le 12/03/2020, à 18:19
- kholo
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
que de galères avec ce 18.04 ...
voici un code
qui reproduit le phénomène sous 18.04 sans utiliser de gif
ce qui est d'autant plus intéressant et troublant
... et, bien sûr, pas de soucis sous 16.04
#!/usr/bin/env python 3
# -*- coding: UTF8 -*-
# script animation_balle.py
#(C) Fabrice Sincère
from tkinter import *
import math,random
LARGEUR = 800
HAUTEUR = 320
RAYON = 10 # rayon de la balle
# position initiale au milieu
X = LARGEUR/2
Y = HAUTEUR/2
# direction initiale aléatoire
vitesse = random.uniform(1.8,2)*5
angle = random.uniform(0,2*math.pi)
DX = vitesse*math.cos(angle)
DY = vitesse*math.sin(angle)
def deplacement():
""" Déplacement de la balle """
global X,Y,DX,DY,RAYON,LARGEUR,HAUTEUR
# rebond à droite
if X+RAYON+DX > LARGEUR:
X = 2*(LARGEUR-RAYON)-X
DX = -DX
# rebond à gauche
if X-RAYON+DX < 0:
X = 2*RAYON-X
DX = -DX
# rebond en bas
if Y+RAYON+DY > HAUTEUR:
Y = 2*(HAUTEUR-RAYON)-Y
DY = -DY
# rebond en haut
if Y-RAYON+DY < 0:
Y = 2*RAYON-Y
DY = -DY
X = X+DX
Y = Y+DY
# affichage
Canevas.coords(Balle,X-RAYON,Y-RAYON,X+RAYON,Y+RAYON)
# mise à jour toutes les 50 ms VITESSE
# Mafenetre.after(50,deplacement)
Mafenetre.after(10,deplacement)
# Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Animation Balle")
# Création d'un widget Canvas
Canevas = Canvas(Mafenetre,height=HAUTEUR,width=LARGEUR,bg='white')
mots = Canevas.create_text(int(400), int(230),
text="XXXsalut mon grandXXX",
font=("Courrier", int(40), 'bold'),
anchor='center', fill="red")
Canevas.pack(padx=5,pady=5)
# Création d'un objet graphique
Balle = Canevas.create_oval(X-RAYON,Y-RAYON,X+RAYON,Y+RAYON,width=1,fill='green')
deplacement()
Mafenetre.mainloop()
Dernière modification par kholo (Le 12/03/2020, à 19:38)
Hors ligne
#7 Le 13/03/2020, à 08:50
- Compte supprimé
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
Salut kholo,
Je pense que tu as trouvé toutes les réponses aux questions que tu as posé en #5.
En ce qui concerne les int() c'est effectivement un résidu du code originel qui comportait des variables...
edit 2 :
je confirme ; sur une 18.04 D => G ça paume du texte,
dans l'autre sens, ça le remet...
C'est exactement ce qui ce passe sur mon pc .
Tu es le 4eme pc qui reproduit le bug. Je sais que sur la 16.04 , la 19.10( merci bipede), windows10 et mac il n'y a pas de souci.
Donc manifestement il s'agit bien d'un bug lié à Ubuntu 18.04...
Par contre j'ignore si celui-ci a été répertorié(perso je ne l'ai pas trouvé) ,et s'il ne l'est pas, comment remonter l'info...
Dernière modification par Compte supprimé (Le 13/03/2020, à 08:51)
#8 Le 16/03/2020, à 15:33
- Compte supprimé
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
comment remonter l'info...
Au final, ce n'est pas si important que ça . Vu que la 19.04 n'a pas ce bug, on peut estimer que ce problème a été résolu. Vivement la 20.04.
@kholo: J'ai estimé que au vu de tes édits que tu avais les réponses aux questions que tu m'avais posé. C'est bien le cas ? En relisant le post j'ai un doute... Si besoin j'y reviens
Dernière modification par Compte supprimé (Le 16/03/2020, à 15:34)
#9 Le 10/05/2020, à 19:04
- Compte supprimé
Re : Tkinter .create_text, bug d'affichage sur la 18.04?
Bug résolu sur la 20.04 .
Je viens de tester.