本文整理汇总了Python中PyQt4.QtDeclarative.QDeclarativeView.value方法的典型用法代码示例。如果您正苦于以下问题:Python QDeclarativeView.value方法的具体用法?Python QDeclarativeView.value怎么用?Python QDeclarativeView.value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.QtDeclarative.QDeclarativeView
的用法示例。
在下文中一共展示了QDeclarativeView.value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SleepTimer
# 需要导入模块: from PyQt4.QtDeclarative import QDeclarativeView [as 别名]
# 或者: from PyQt4.QtDeclarative.QDeclarativeView import value [as 别名]
class SleepTimer(QWidget):
'''
A resizable Widget with two Spinboxes Labeled with "h" and "min", also a Time-bomb containing a countdownclock.
If a spinbox is changed, start is triggered. After 2 Seconds, countdown is startet.
When countdown ends, signal "sleepTimerelapsed()" is emitted.
'''
sleepTimerelapsed = pyqtSignal()
sleepTimertenseconds = pyqtSignal()
def __init__(self, parent=None):
super(SleepTimer, self).__init__(parent)
self.forceSpinBoxWidget = global_vars.configuration.get("GENERAL").get("sleeptimerdigitalspinbox")
self.setStyleSheet("SleepTimer {"
"background-color: rgb(76, 76, 76);"
"color: rgb(240, 240, 240);"
"}"
"QLabel {"
"color: white;"
"}"
"QSpinBox {"
"padding-right: 10px; /* make room for the arrows */"
"border-width: 3;"
"}"
"QSpinBox::up-button {"
"width: 26px;"
"}"
"QSpinBox::down-button {"
"width: 26px;"
"}"
)
self.value = 0 # the value is calculated in self.active (calculated seconds in total)
self.isActive = False
if self.forceSpinBoxWidget:
self.sb_hours = LeadingZeroSpinBox()
self.sb_hours.setRange(0,23)
self.sb_hours.setAlignment(Qt.AlignCenter)
self.sb_hours.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
else:
self.sb_hours = QDeclarativeView()
self.sb_hours.setSource(QUrl(os.path.join(cwd,'sb_hours.qml')))
self.sb_hours.setResizeMode(QDeclarativeView.SizeViewToRootObject)
self.sb_hours.setStyleSheet("background:transparent;")
self.sb_hours.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.sb_hours_obj = self.sb_hours.rootObject().findChild(QObject, "spinner")
self.sb_hours_value = QDeclarativeProperty(self.sb_hours.rootObject().findChild(QDeclarativeItem, name="spinner"),"currentIndex")
if self.forceSpinBoxWidget:
self.sb_minutes = LeadingZeroSpinBox()
self.sb_minutes.setRange(0,59)
self.sb_minutes.setAlignment(Qt.AlignCenter)
self.sb_minutes.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
else:
self.sb_minutes = QDeclarativeView()
self.sb_minutes.setSource(QUrl(os.path.join(cwd,'sb_minutes.qml')))
self.sb_minutes.setResizeMode(QDeclarativeView.SizeViewToRootObject)
self.sb_minutes.setStyleSheet("background:transparent;")
self.sb_minutes.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.sb_minutes_obj = self.sb_minutes.rootObject().findChild(QObject, "spinner")
self.sb_minutes_value = QDeclarativeProperty(self.sb_minutes.rootObject().findChild(QDeclarativeItem, name="spinner"),"currentIndex")
tmpFont = QFont()
tmpFont.setPointSize(18)
self.lbl_hours = QLabel(QString("h"))
self.lbl_hours.setFont(tmpFont)
self.lbl_minutes = QLabel(QString("min"))
self.lbl_minutes.setFont(tmpFont)
# Load QML Widget Bomb
self.bomb = QDeclarativeView()
self.bomb.setSource(QUrl(os.path.join(cwd,'timebomb.qml')))
self.bomb.setResizeMode(QDeclarativeView.SizeViewToRootObject)
#self.bomb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.bomb.setStyleSheet("background:transparent;")
self.bomb_text = QDeclarativeProperty(self.bomb.rootObject().findChild(QDeclarativeItem, name="counter_text"),"text")
#setup layouts
tmpLayout = QHBoxLayout()
tmpLayout.addSpacerItem(QSpacerItem(40, 40, QSizePolicy.Expanding))
tmpLayout.addWidget(self.sb_hours)
tmpLayout.addWidget(self.lbl_hours)
tmpLayout.addWidget(self.sb_minutes)
tmpLayout.addWidget(self.lbl_minutes)
tmpLayout.addSpacerItem(QSpacerItem(40, 40, QSizePolicy.Expanding))
tmp2Layout = QVBoxLayout()
tmp2Layout.addLayout(tmpLayout)
tmp2Layout.addWidget(self.bomb)
tmp2Layout.addSpacerItem(QSpacerItem(40, 40, QSizePolicy.Expanding))
self.setLayout(tmp2Layout)
self.blockValueSignal = False # if this is true, valueChanged signal is not evaluated
if self.forceSpinBoxWidget:
self.sb_hours.valueChanged.connect(self.onValueChanged)
self.sb_minutes.valueChanged.connect(self.onValueChanged)
else:
#.........这里部分代码省略.........