forked from davidgrier/pyfab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQFabVideo.py
68 lines (53 loc) · 1.91 KB
/
QFabVideo.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from QPropertySheet import QPropertySheet
class QFabVideo(QPropertySheet):
def __init__(self, camera=None):
super(QFabVideo, self).__init__(title='Video Camera', header=False)
self.camera = camera
self.wmirrored = self.registerProperty('mirrored', self.mirrored)
self.wflipped = self.registerProperty('flipped', self.flipped)
self.wtransposed = self.registerProperty('transposed', self.transposed)
self.wgray = self.registerProperty('gray', self.gray)
self.wmirrored.valueChanged.connect(self.updateMirrored)
self.wflipped.valueChanged.connect(self.updateFlipped)
self.wtransposed.valueChanged.connect(self.updateTransposed)
self.wgray.valueChanged.connect(self.updateGray)
def updateMirrored(self):
self.camera.mirrored = self.wmirrored.value
@property
def mirrored(self):
return self.camera.mirrored
@mirrored.setter
def mirrored(self, state):
value = bool(state)
self.wmirrored.value = value
self.updateMirrored()
def updateFlipped(self):
self.camera.flipped = self.wflipped.value
@property
def flipped(self):
return self.camera.flipped
@flipped.setter
def flipped(self, state):
value = bool(state)
self.wflipped.value = value
self.updateFlipped()
def updateTransposed(self):
self.camera.transposed = self.wtransposed.value
@property
def transposed(self):
return self.camera.transposed
@transposed.setter
def transposed(self, state):
value = bool(state)
self.wtransposed.value = value
self.updateTransposed()
def updateGray(self):
self.camera.gray = self.wgray.value
@property
def gray(self):
return self.camera.gray
@gray.setter
def gray(self, state):
value = bool(state)
self.wgray.value = value
self.updateGray()