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,
Version imprimable
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 :mouarf:)Code:
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 :ccool:. 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:
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 :P
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.3Code:
1
2 AttributeError: 'QTextCursor' object has no attribute 'addImage'
Bonjour,
:oops: erreur de recopie ...
il faut lire@+Code:cursor.insertImage(pixOkImgFormat)