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
30
31
32
33 try:
34 from python_qt_binding.QtGui import QMessageBox, QPushButton, QSpacerItem, QSizePolicy, QTextEdit
35 except:
36 from python_qt_binding.QtWidgets import QMessageBox, QPushButton, QSpacerItem, QSizePolicy, QTextEdit
37
38
40 ''' '''
41
42 - def __init__(self, title, text, detailed_text=""):
43 self.title = title
44 self.value = text
45 self.detailed_text = detailed_text
46
48 return repr(self.text) + ":::" + self.detailed_text
49
50
52
53 - def __init__(self, icon, title, text, detailed_text="", buttons=QMessageBox.Ok):
54 QMessageBox.__init__(self, icon, title, text, buttons)
55 if detailed_text:
56 self.setDetailedText(detailed_text)
57 horizontalSpacer = QSpacerItem(480, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)
58 layout = self.layout()
59 layout.addItem(horizontalSpacer, layout.rowCount(), 0, 1, layout.columnCount())
60
61 if QMessageBox.Abort & buttons:
62 self.setEscapeButton(QMessageBox.Abort)
63 elif QMessageBox.Ignore & buttons:
64 self.setEscapeButton(QMessageBox.Ignore)
65 else:
66 self.setEscapeButton(buttons)
67
68 self.textEdit = textEdit = self.findChild(QTextEdit)
69 if textEdit is not None:
70 textEdit.setMinimumHeight(0)
71 textEdit.setMaximumHeight(600)
72 textEdit.setMinimumWidth(0)
73 textEdit.setMaximumWidth(600)
74 textEdit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
75
76 self.ignore_all_btn = QPushButton('Don\'t display again')
77 self.addButton(self.ignore_all_btn, QMessageBox.HelpRole)
78
80 QMessageBox.paintEvent(self, event)
81 self.ignore_all_btn.setVisible(self.textEdit.isVisible() if self.textEdit else False)
82