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

PyQt Python Discussion :

Désactiver bouton maximiser [QtGui]


Sujet :

PyQt Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Désactiver bouton maximiser
    Bonjour un petit problème épineux
    J'essaie tous simplement de désactiver ou supprimer le bouton "maximise" de ma mainwindow.
    j'ai essayer la piste des windows flags mais a part supprimer toute la barre (ou alors supprimer tous les boutons sauf lui ) je n'y arrive pas.

    cette ligne par exemple ne fonctionne pas.
    self.setWindowFlags(Qt.CustomizeWindowHint|Qt.WindowMinimizeButtonHint|Qt.WindowCloseButtonHint)


    Quelqu'un a une idée pour me débarrasser de ce bouton
    J'utilise pyqt 4.10 avec python 2.7

    Merci

    Elsa

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Fonctionne comme demandé chez moi.

    Ubuntu avec
    - Python 2.7.3
    - Qt 4.8.1
    - PyQt 4.9.1

    Tu appliques bien sur la fenêtre principale ?

    donc self est l'instance de QMainWindow ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    oui self est mon QMainWindow
    Qu'est ce qui fonctionne chez toi ma ligne de code ?

    je suis aussi sur Ubuntu unity 14.04 LTS
    et python Python 2.7.6
    voila le morceau de code
    j'ai réussis a figer la taille de l'application mais un clic sur le bouton ramène la fenêtre en haut a gauche il faut que j'arrive a supprimer/désactiver ce bouton..
    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
     
    class PrincApplication(QMainWindow):
     
    	change = 0
    	form = ""
     
    	def __init__(self,parent=None):
    		super (PrincApplication, self).__init__(parent)
                    self.setWindowFlags(Qt.CustomizeWindowHint|Qt.WindowMinimizeButtonHint|Qt.WindowCloseButtonHint)
    		self.createWidgets()
     
     
    	def createWidgets(self):
    		self.ui = Ui_MainWindow()
    		self.ui.setupUi(self)
    		self.initialisedata()
                    ...

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Je suis encore sur LTS 12.04 mais pour le reste c'est pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class MainUi(QtGui.QMainWindow):
        def __init__(self, main, parent=None):
            super(MainUi, self).__init__(parent)
            self.setWindowFlags(QtCore.Qt.CustomizeWindowHint|QtCore.Qt.WindowCloseButtonHint|
                                QtCore.Qt.WindowMinimizeButtonHint)

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    L'environnement de bureau peut aussi avoir son mot à dire, j'avais oublié cet aspect.

    Je n'utilise pas Unity mais Maté (fork de Gnome 2)

    Essaye ceci au tout début de ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        app = QtGui.QApplication(sys.argv)
        app.setAttribute(QtCore.Qt.AA_NativeWindows, False)
        app.setAttribute(QtCore.Qt.AA_DontUseNativeMenuBar, True)

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    c'est fais mais ce m*** bouton est toujours la
    Le seul changement est que les menus ne sont plus dans la barre mais a leur place habituel juste en dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if __name__ == "__main__":
    	app = QApplication(sys.argv)
    	app.setAttribute(QtCore.Qt.AA_NativeWindows, False)
    	app.setAttribute(QtCore.Qt.AA_DontUseNativeMenuBar, True)
    	locale = QLocale.system().name()
    	translator=QTranslator ()
    Je viens de tester sur ubuntu 12.04 unity même problème
    Ca fonctionne sous gnome shell
    mais pas sous lxde,unity,openbox,gnome-failback
    pas pus tester sous xfce et kde

    Sinon n'y a t'il pas un moyen de surcharger la fonction appeler par ce bouton pour lui dire de ne rien faire ?

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Comme tu as sûrement dut le lire, la doc présente toutes les options de ce type sous réserve d'acceptation par l'OS, ceci étant encore compliqué par les options de l'environnement de bureau.

    Je crains que tu ne passe (perde) beaucoup de temps pour une solution portable.

    Quoiqu'il en soit, je viens de tester ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class MainUi(QtGui.QMainWindow):
        def __init__(self, main, parent=None):
            super(MainUi, self).__init__(parent)
            # main.cfg -> user's prefs
            self.resize(main.cfg.width, main.cfg.height)
            ...
     
        def resizeEvent(self, event):
            w, h = event.size().width(), event.size().height()
            if w > self.main.cfg.width or h > self.main.cfg.height:
                self.showNormal()
                return
    Ça fonctionne mais on voit un bref instant le redimensionnement.

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    hum effectivement une solution universelle semble impossible

    mais celle que tu me propose me convient de mon coté je ne vois pas le redimensionnement le bouton semble inactif et c'est le but recherché.

    moi ça me vas je me contente de cette solution

    je te remercie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Activer/désactiver bouton dans menu perso
    Par electrosat03 dans le forum VBA Access
    Réponses: 12
    Dernier message: 21/09/2007, 17h22
  2. le bouton maximiser dans le browser
    Par CAML dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/03/2006, 12h15
  3. Réponses: 2
    Dernier message: 20/02/2006, 13h54
  4. Désactivation bouton = formulaire non soumis
    Par Gwipi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/05/2005, 16h11
  5. Griser le bouton "maximiser" d'une fenêtre
    Par kurkaine dans le forum C++Builder
    Réponses: 5
    Dernier message: 13/02/2004, 00h11

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