blob: bf298817521fe4d86e74a9ee92404a3a6ca622e2 (
plain)
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
34
35
36
37
38
39
40
41
42
43
|
#!/usr/bin/python
import unittest
from helper import TimedQApplication
from PySide2.QtCore import QSignalTransition, QState, Qt, QStateMachine
from PySide2.QtWidgets import QCheckBox
class CheckedTransition(QSignalTransition):
def __init__(self, check):
QSignalTransition.__init__(self, check.stateChanged[int])
self.eventTested = False
def eventTest(self, event):
self.eventTested = True
if not QSignalTransition.eventTest(self, event):
return False
return event.arguments()[0] == Qt.Checked
class TestBug(TimedQApplication):
def testCase(self):
check = QCheckBox()
check.setTristate(True)
s1 = QState()
s2 = QState()
t1 = CheckedTransition(check)
t1.setTargetState(s2)
s1.addTransition(t1)
machine = QStateMachine()
machine.addState(s1)
machine.addState(s2)
machine.setInitialState(s1)
machine.start()
check.stateChanged[int].emit(1)
check.show()
self.app.exec_()
self.assert_(t1.eventTested)
if __name__ == '__main__':
unittest.main()
|