Bonjour à tous,
Je cherche un moyen d'intégrer une checkbox (valeur booléenne) dans un QTextDocument.
Existe t-il un autre moyen que d'insérer une image d'une coche ?
Merci pour vos lumières.
Cordialement,
Bonjour à tous,
Je cherche un moyen d'intégrer une checkbox (valeur booléenne) dans un QTextDocument.
Existe t-il un autre moyen que d'insérer une image d'une coche ?
Merci pour vos lumières.
Cordialement,
Bonjour une des solutions peut être
J'ai voulu utilisé initialement QPainter mais n'y suis pas parvenu (pas beaucoup de temps pour approfondir non plus )
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 # -*- coding: utf-8 -*- import os from PyQt4 import QtGui, QtCore class testDoc(QtGui.QTextEdit): def __init__(self, parent=None): super(testDoc, self).__init__(parent) textDoc = QtGui.QTextDocument() checkOk = QtGui.QCheckBox('Est ce que ca vous couvient?') checkOk.setCheckState(QtCore.Qt.Checked) checkKo = QtGui.QCheckBox('vive python') #checkKo.setCheckState(QtCore.Qt.UnChecked) pixOk = QtGui.QPixmap().grabWidget(checkOk) pixKo = QtGui.QPixmap().grabWidget(checkKo) textDoc.addResource (2,QtCore.QUrl('pixOk'),pixOk) textDoc.addResource (2,QtCore.QUrl('pixKo'),pixKo) textDoc.setHtml("<img src=\"pixOk\"></img><br> <img src=\"pixKo\"></img> ") self.setDocument(textDoc) if __name__=='__main__': import sys app=QtGui.QApplication(sys.argv) fen = testDoc() fen.show() sys.exit(app.exec_())
Bonjour Nico,
Ta solution est tip-top . Je l'ai un poil adapté comme çà :
L'insertion de l'image avec le 'cursor' donne toute la souplesse que je cherchais. Je peux ainsi intégrer la coche facilement dans une table en testant la valeur booléenne d'une variable ...
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 # -*- coding: utf-8 -*- import os from PyQt4 import QtGui, QtCore class testDoc(QtGui.QTextEdit): def __init__(self, parent=None): super(testDoc, self).__init__(parent) textDoc = QtGui.QTextDocument() cursor = QtGui.QTextCursor(textDoc) checkOk = QtGui.QCheckBox() checkOk.setCheckState(QtCore.Qt.Checked) #pixOk = QtGui.QPixmap().grabWidget(checkOk) pixOkImg = QtGui.QPixmap().grabWidget(checkOk).toImage() pixOkImgFormat = QtGui.QTextImageFormat() pixOkImgFormat.setWidth(pixOkImg.width()) pixOkImgFormat.setHeight(pixOkImg.height()) pixOkImgFormat.setName('pixOkImg') textDoc.addResource (2, QtCore.QUrl('pixOkImg'), pixOkImg) cursor.addImage(pixOkImgFormat) if __name__=='__main__': import sys app=QtGui.QApplication(sys.argv) fen = testDoc() fen.show() sys.exit(app.exec_())
Merci pour ton aide
super
Initialement je n'avais pas de solution à ton problème (qui m’intéresse pour plus tard au cas où..).
par contre en testant ton code, ceci en retour
je suis sous PyQt 4.8.3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AttributeError: 'QTextCursor' object has no attribute 'addImage'
Bonjour,
erreur de recopie ...
il faut lire@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part cursor.insertImage(pixOkImgFormat)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager