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 :

Aide (Un widget qui fonctionne comme QPushButton) [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut Aide (Un widget qui fonctionne comme QPushButton)
    Bonsoir à tous.
    Dans l’application que je suis en train de développer depuis quelque temps j’aimerais bien utiliser un widget (que je ne connais pas), c’est pourquoi j’ai associé une image pour le décrire
    Nom : word.PNG
Affichages : 129
Taille : 139,4 Ko
    Lorsqu’on clique sur ce widget une nouvelle fenêtre apparaitra, c’est le même principe de celui d’un QPushButton.
    Merci pour toute proposition.
    Os Windows-XP, windows-7
    Python 3.2
    PyQt 4.9.6

  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,

    Si il s'agit de texte dans un QPlainText, tu peux utiliser du html, les liens sont réactifs sans que tu n'aies rien à faire.

    Si il s'agit d'un QLabel, il faudra le sous-classer.
    Ceci par exemple:
    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
    35
    36
    37
    38
    39
     
    class UrlLabel(QLabel):
        def __init__(self, text='', parent=None):
            super(UrlLabel, self).__init__(parent)
            self.url = text
            font = QFont()
            font.setUnderline(True)
            self.setFont(font)
            self.setStyleSheet("color: #0000FF")
            self.set_text(text)
            self.setCursor(QCursor(Qt.PointingHandCursor))
            self.clip_board = QApplication.clipboard()
     
        def set_text(self, text):
            self.url = text
            self.setText(text)
     
        def mousePressEvent(self, event):
            if event.button() == 1:
                self.open_in_webbroser()
     
            elif event.button() == 2:
                self.show_context_menu(event.globalPos())
     
        def show_context_menu(self, pos):
            self.menu = QMenu()
            self.copy = QAction(QIcon('medias/copy.png'), 'Copy', None)
            self.web = QAction(QIcon('medias/web.png'), 'Open', None)
            self.menu.addAction(self.copy)
            self.menu.addAction(self.web)
            self.copy.triggered.connect(self.copy_url)
            self.web.triggered.connect(self.open_in_webbroser)
            self.menu.popup(pos)
     
        def copy_url(self):
            self.clip_board.setText(self.url)
     
        def open_in_webbroser(self):
            webbrowser.open_new_tab(self.url)

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Bonjour tout le monde
    je vous remercie pour votre aide, c'est exactement ce que je veux.

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

Discussions similaires

  1. Widget qui ne fonctionne pas
    Par kanon22 dans le forum Android
    Réponses: 0
    Dernier message: 20/07/2014, 20h07
  2. Réponses: 9
    Dernier message: 09/05/2013, 17h27
  3. Réponses: 4
    Dernier message: 14/01/2007, 13h21
  4. Lien qui fonctionne comme le bouton "back" d'IE
    Par alexbigot dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 02/01/2007, 18h09
  5. une requete qui fonctionne aux 3/4...
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 22h08

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