Qt - Pop-up menu
J'ai ajouté une étiquette, comme une image(icône) à un widget Qt.
Je veux afficher un pop-up menu lorsque l'utilisateur clique (gauche ou droit de la souris) sur l'étiquette.
Comment puis-je y parvenir ? S'il vous plaît aider...
Que voulez-vous exactement : un pop-up menu lorsque le menu contextuel est demandé (clic droit), ou un pop up menu à chaque fois que l'étiquette est cliqué, peu importe si c'est le bouton gauche ou droit ?
OriginalL'auteur Maddy | 2011-01-24
Vous devez vous connecter pour publier un commentaire.
Vous devrez définir le
ContextMenuPolicy
du widget, puis connectez lecustomContextMenuRequested
cas pour certains fente qui permet d'afficher le menu.Voir: Qt et le menu contextuel
OriginalL'auteur Cam
Si vous souhaitez afficher un menu contextuel lorsque l'étiquette est cliqué (avec n'importe quel bouton de la souris), je suppose que vous aurez à mettre en place votre propre
Label
classe, héritantQLabel
et de la manipulation du menu contextuel par vous-même dans le cas d'un événement de souris.Voici un très simplifié (mais de travail) version :
Cette institution spécialisée des
Label
classe permet d'afficher dans le menu déroulant toutes les actions ajouté.Disons que la fenêtre principale de votre application est appelée
MainFrm
et de l'est de l'affichage de l'étiquette (label
. Voici comment le constructeur look :OriginalL'auteur Jérôme
Si une étiquette est cliquable, il est logiquement un "textuelle bouton" et pas un "étiquette" plus.
Je suggère d'utiliser QToolButton au lieu de cela, et d'utiliser QSS pour faire le toolbutton à l'étiquette.
OriginalL'auteur jichi