2017-09-19 6 views
1

Avertissement: Je ne suis pas un programmeur Qt, je demande juste au cas où quelqu'un pourrait résoudre un issue about DB Browser for SQLite. Par conséquent, EditDialog widget étend la classe QDialog. Comme décrit dans le problème, dans certains scénarios ce widget est en lecture seule, mais ce serait génial si son contenu textuel pouvait encore être sélectionné.Faire un QDialog en lecture seule, mais toujours avec du texte sélectionnable

Il y a deux cas d'utilisation:

    sélection de texte
  • avec la souris
  • caret clignote, la sélection de texte avec le clavier Maj + flèches

Les current solution ne fixe que le premier cas. Il n'y a pas de curseur clignotant et la sélection du clavier ne fonctionne pas. Cela pourrait-il être amélioré?

+0

Avez-vous eu l'occasion de tester la réponse que j'ai donnée? Je suis un utilisateur de sqlitebrower moi-même, donc je serais intéressé de savoir si ma suggestion était utile. – ekhumoro

+0

Les développeurs n'ont pas encore donné de nouvelles à ce sujet, mais ils sont conscients de ce post SO, et le problème est suivi pour la prochaine version de DB4S. –

+0

Je viens de trouver ce fil de discussion à propos de ce numéro: http://www.qtcentre.org/threads/39941-readonly-QTextEdit-with-visible-Cursor. –

Répondre

2

En supposant que la zone de texte est QTextEdit ou QPlainTextEdit, vous devriez pouvoir résoudre ce problème en ajustant le text interaction flags. Essayez quelque chose comme ceci:

ui->editorText->setTextInteractionFlags(
    Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard) 
+0

Merci. Je viens de l'appliquer au navigateur DB pour SQLite et cela fonctionne comme prévu. – Gneuromante

+0

Juste une mise en garde, le signe ne clignote pas. Mais apparemment, il n'y a pas de meilleure solution. –