IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GUI Python Discussion :

[Apparence fenetre][Pygame] supprimer le contour et redessiner sa fenetre


Sujet :

GUI Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut [Apparence fenetre][Pygame] supprimer le contour et redessiner sa fenetre
    Bonjour à vous, j'aimerai savoir si avec pygame, il serait possible de supprimer les contour de la fenetre ET la barre de titre pour les redessiner ?
    Merci de votre aide.

    (en gros un truc comme ca (en java et c'est pas moi qui l'a fait mais un ami) : Nom : Sanstitre12.png
Affichages : 1636
Taille : 787,9 Ko)

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    up ! besoin de réponses merci

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Python34 Voir le message
    up ! besoin de réponses merci
    Les réponses sont dans la documentation.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    oh mer** alors, j'avais pas vu la partie noframe ! merci de votre réponse vraiment !
    je reviendrais vers vous si jamais, j'ai un problème de customisation

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    alors voilà, c'est bon j'ai fait un code, mais je ne sais pas comment déplacer ma fenetre, ni comment en rendre une partie transparente, comme on le voit au niveau des fleurs sur l'image que j'ai posté !
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    import time
    import pygame
    from   pygame.locals import *
     
    pygame.init()
    root  = pygame.display.set_mode((512,512), pygame.NOFRAME)
    image = pygame.image.load("trans.png").convert_alpha()
     
    continuer = 1
    clic = 0
     
    while continuer:
    	pygame.draw.rect(root, (255, 255, 255), (0, 0, 512, 10))
    	root.blit(image, (0, 0))
    	time.sleep(0.5)
    	for event in pygame.event.get():
    		if event.type == KEYUP:
    			continuer = 0
    		elif event.type == MOUSEBUTTONDOWN:
    			x, y = event.pos[0], event.pos[1]
    			if y >= 0 and y <= 10:
    				#on est sur la bande où l'on doit cliquer
    				#si on veut déplacer la fenetre
    				clic = 1
    		elif event.type == MOUSEBUTTONUP:
    			clic = 0
    		elif event.type == MOUSEMOTION:
    			if clic:
    				# ~~ là je suis pas sûr que cela marche correctement
    				x, y = event.pos[0], event.pos[1]
    				#c'est juste dessous que je sais comment faire
    				POSITON_FENETRE_SUR_BUREAU__EN_x += x
    				POSITON_FENETRE_SUR_BUREAU__EN_y += y
    	pygame.display.flip()
    Merci de votre aide

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    je viens d'apprendre que l'on peut pas rendre une partie de la fenetre transparente
    mais quand est il de son déplacement ? il doit possible d'agir dessus, non ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    up !

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Oui et non ...
    Le déplacement de la fenêtre est normalement géré par le window manager.
    Il est cependant possible de placer une fenêtre mais ça reste du bricolage.

    Mais pourquoi as tu besoin d'avoir un fond transparent et pourquoi la fenêtre doit elle être déplaçable ? Est ce vraiment nécessaire ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ben si la fenetre spawn mal . . . on devrait pouvoir la déplacer, sinon c'est bizarre non ?
    le fond transparent c'est pour modifier la forme de la fenetre

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    A ma connaissance pas possible avec pygame.
    Pourquoi ne pas tenter une autre approche, comme un fullscreen ? On est pas obligé d'utiliser tout l'ecran en fullscreen. Et on définit une touche pour passer en windowed à tous moments.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ah bon ? on peut utiliser qu'une partie de l'acran ? j'étais reticent au full screen, mais maintenant que tu le dis, je pense que c'est ce que je vais faire ! merci à toi (si tu as un tout petit début de code pour utiliser que 600x600 px et autre de l'écran sans changer le code que j'ai déjà fait (ou je partais de 0,0 comme axe orthogonal), je te serais redevable)

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    méthode avec subsurface
    wind est une subsurface de root, les modifications de root affecte wind, cependant la référence de l'angle topleft de wind est (0,0)
    pour les événements souris, il faut penser à ajouter l'offset de la fenêtre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from pygame import *
     
    root = display.set_mode((0,0),FULLSCREEN) #definition de l'ecran principal
     
    r    = Rect(0,0,600,600)                  #definition de la taille de la fenetre de jeu
    r.center = root.get_rect().center         #centrage de la fenetre par rapport a l'ecran total
    wind = root.subsurface(r)                 #definition de la fenetre de jeu
    wind.fill((60,60,60))                     #coloriage de la fenetre de jeu en gris
     
    display.update(r)                         #mise a jour de la fenetre seulement
     
    while True:
        ev = event.wait()
        if ev.type == KEYUP and ev.key == K_ESCAPE: #appuyez sur echappe pour quitter
            break
     
    quit()

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    merci c'est vraiment super !
    je passe en résolu

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    et non en fait !

    j'ai testé ton code, parfait ! pile poil ce qu'il me fallait
    mais un seul bémol : j'utilise un de tes modules, reader et le texte ne se place pas bien. normal on ne donne pas wind en argument à la fonction. donc question : je vais passer sans doute wind en argu mais puis je récupérer sa position sur l'écran ? je ne vois pas du tout comment faire, et je pense que get_rect() ne marcherai pas
    merci encore à toi, je vais pouvoir revoir au max mon interface graphique avec mon graphiste

  15. #15
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    wow ! reader c'est vieux et pas très optimisé ...
    bon, du coup je l'ai adapté à l'arrache:
    https://www.dropbox.com/s/tavi7n2630...ified.zip?dl=0
    tu peux donc passer une subsurface de root(soit wind ici) en argument surface.

    Mais même sans modif il suffit d'indiquer à reader la position et les dimensions de wind et ça devrait fonctionner.

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    d'accord merci

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    oh! quelle belle interface ! merci à toi :
    Nom : 2014-11-15_172347.png
Affichages : 1788
Taille : 194,6 Ko

Discussions similaires

  1. Supprimer le contour d'un sous formulaire
    Par benoit13 dans le forum IHM
    Réponses: 2
    Dernier message: 27/07/2007, 11h36
  2. Supprimer le contour d'une fenêtre
    Par Jeremy0201 dans le forum Tkinter
    Réponses: 2
    Dernier message: 15/07/2007, 10h27
  3. [TSpeedButton] Supprimer le contour onmouseover
    Par Pill_S dans le forum Delphi
    Réponses: 2
    Dernier message: 27/06/2007, 14h35
  4. [Pygame]Supprimer/masquer les pixels d'une même couleur sur une image
    Par Mysti¢ dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 10/05/2007, 13h40
  5. [CSS] supprimer le contour bleu sur un lien image
    Par guy2004 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 27/10/2005, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo