Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Résolu] Placement d'un Canvas dans une fenêtre

6 juin 2019 à 17:39:29

Bonjour à tous,

Je suis sous Python 3.6.7, et je suis occupé à revoir un programme qui fonctionnait avec de multiples fenêtres. Il est demandé de remettre ces fenêtres dans des Canvas, eux-mêmes placés dans une fenêtre Tk().

Mais seulement voilà : comment placer deux Canvas sur une même ligne ?

Voici le programme :

from tkinter import *
from Donnees import *

class Interface(Frame):
    def __init__(self, Logging):

        try:
            os.remove('Journal.txt')
        except:
            pass

        
        Log = Canvas(Logging, width="20", height="190", bg='red', border="0")
        
        Log.pack(anchor=NE)
        Log.coords(10,100,10,10)
        
        #EcritureJournal(message="\n\n*********************** New Log ************************* \n\n", date="1", argument="")
        self.C = Canvas(Logging, width="810", height="230", bg='bisque')
        self.C.pack(anchor=NW)
        self.C.coords(10,10)
        
        Champs_Entry.Entry(self)        # Fichier 'Donnees.py'

if __name__ == "__main__":

    Logging = Tk()
    Titre = "GMT Log contest. [V0.16]"
    Logging.title(Titre)
    Logging.update()
    Logging.resizable(False, False)
    Logging.geometry("1500x800+150+100")
    Interface(Logging)
    Logging.mainloop()


Le canvas 'Log' (le premier, en rouge) sert uniquement à visualiser le positionnement (ce sera quelque chose de bein plus complet par la suite, évidement).

Dans mon cas, les deux Canvas s'affichent, mais le premier Canvas (en rouge) s'affiche sur la première ligne, et le second, en dessous ... Hors, j'aimerais les mettre sur la même ligne... le canvas couleur 'bisque' à gauche, l'autre, celui que ressemble à rien (en rouge :-) ) à droite.

Comment les positionner tout les duex sur le même ligne ?

J'ai essayer Canvas.place(x,y), ici Canvas.coords(x, y), .....

Merci.

Geoffroy

-
Edité par GeoffroyThib 7 juin 2019 à 8:52:35

  • Partager sur Facebook
  • Partager sur Twitter
6 juin 2019 à 21:46:53

Tu as essayé de le .pack(anchor=SE) au lieu de NE?
  • Partager sur Facebook
  • Partager sur Twitter

 "Je ne crois qu'en une seule chose : le pouvoir de la volonté humaine."  - Joseph Stalin

6 juin 2019 à 22:53:50

Bonsoir Lucas,

Oui, j'ai essayé, mais rien ne change ...

Merci.

Geoffroy

En fait, j'avais fait une erreur, mais ca fonctionne avec la grille !

-
Edité par GeoffroyThib 7 juin 2019 à 8:53:03

  • Partager sur Facebook
  • Partager sur Twitter
4 août 2021 à 22:35:59

bonjour j'essaye de mettre un canvas mais mon programme beug je ne cromprend pas comment faire : 

voicie mon code bien sur ce n'est que le debut :

from tkinter import *
windows = Tk()
windows.geometry("500x600")
windows.title("connexion inscription")
can = Canvas(windows, width=500, height=250, bg="blue")
img = PhotoImage(file="C:\\conex\\securitee_image_1.gif")
can.create_image(140, 28, anchor=NW, image=img)
can.place(x=0, y=0)

windows.mainloop()
  • Partager sur Facebook
  • Partager sur Twitter
5 août 2021 à 15:49:59

on doit deviner le beug ? ou le message d'erreur ?
  • Partager sur Facebook
  • Partager sur Twitter
5 août 2021 à 17:05:46

@FreddyBoulos Bonjour, merci de ne pas déterrer d'ancien sujet résolu.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter