Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt : 5.12.0 - Qt Creator : 4.8.0 - Qt Installer : 3.0.6 - JOM : 1.1.2 - QBS : 1.12.2

Pop-up dans QTableWidget

Bonjour!

J'ai un QTableWidget qui liste des propriétés et leur valeur. Une 3eme colonne permet à l'utilisateur d'entrer une nouvelle valeur.
Quand il clique sur le bouton d'écriture, les valeurs entrées sont vérifiées pour qu'elles soient compatibles avec le type de propriété (entier, texte, booleen, etc).
Si une valeur ne correspond pas, j'affiche un message dans la QStatusBar qui indique précisement le type et la plage à respecter. Mais les retours des utilisateurs indiquent que ce message n'est pas bien lisible.

L'idéal serait de faire surgir une popup au niveau de la cellule en défaut, une sorte de petite bulle avec le message. Si plusieurs valeurs sont fausses, pourquoi pas afficher 2 bulles, mais afficher les erreurs une par une est tout à fait acceptable.

Jusqu'à présent j'ai deux difficultés:
la première est de positionner correctement la popup (qui est en fait le tooltip de QTableWidget):
QToolTip::showText( ui->tableW_properties->mapToGlobal( QPoint( /*que mettre ici ?? */ ) ), msg_error, ui->tableW_properties );
Ici, comment accéder aux coordonnées pixels du QTableWidgetItem ?

La deuxième, c'est de créer un phylactère, avec une pointe visant la cellule. Et ça, je n'ai aucune idée de comment procéder...

Des idées?

Merci

Arnaud

Réponses

  • 5 Mar modifié
    Salut,

    Pas de Popover dans Qt:
    https://bugreports.qt.io/browse/QTBUG-61607

    Donc faut le faire soi-même, y a du boulot mais c'est faisable, exemple:

    Popover


    Pour avoir la postion, peut-être prendre la position du widget retourné par:
    QWidget *cellWidget(int row, int column) const
Connectez-vous ou Inscrivez-vous pour répondre.