class LCDRange(QVBox): def __init__(self, *args): QVBox.__init__(self, *args) self.slider = QSlider(QSlider.Horizontal, self, "slider") self.slider.setRange(0, 999) self.slider.setValue(0) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.valueChanged) self.setFocusProxy(self.slider) def value(self): return self.slider.value() def setValue(self, value): self.slider.setValue(value) def setRange(self, minValue, maxValue): if minValue < 0 or maxValue > 999 or minValue > maxValue: print "Error: setRange(%d, %d)" % (minValue, maxValue) return self.slider.setRange(minValue, maxValue) # signal def valueChanged(self, value): self.emit(PYSIGNAL("valueChanged(int)"), (value,)) def sizePolicy(self): return QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
def __init__(self, *args): QVBox.__init__(self, *args) self.slider = QSlider(QSlider.Horizontal, self, "slider") self.slider.setRange(0, 999) self.slider.setValue(0) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.valueChanged) self.setFocusProxy(self.slider)
def setupUi(self): """layout the window""" self.setContentsMargins(0, 0, 0, 0) vlayout = QVBoxLayout(self) vlayout.setContentsMargins(0, 0, 0, 0) sliderLayout = QHBoxLayout() self.kcfg_showShadows = QCheckBox(i18n('Show tile shadows'), self) self.kcfg_showShadows.setObjectName('kcfg_showShadows') self.kcfg_rearrangeMelds = QCheckBox( i18n('Rearrange undisclosed tiles to melds'), self) self.kcfg_rearrangeMelds.setObjectName('kcfg_rearrangeMelds') self.kcfg_showOnlyPossibleActions = QCheckBox( i18n('Show only possible actions')) self.kcfg_showOnlyPossibleActions.setObjectName( 'kcfg_showOnlyPossibleActions') self.kcfg_propose = QCheckBox(i18n('Propose what to do')) self.kcfg_propose.setObjectName('kcfg_propose') self.kcfg_animationSpeed = QSlider(self) self.kcfg_animationSpeed.setObjectName('kcfg_animationSpeed') self.kcfg_animationSpeed.setOrientation(Qt.Horizontal) self.kcfg_animationSpeed.setSingleStep(1) lblSpeed = QLabel(i18n('Animation speed:')) lblSpeed.setBuddy(self.kcfg_animationSpeed) sliderLayout.addWidget(lblSpeed) sliderLayout.addWidget(self.kcfg_animationSpeed) self.kcfg_useSounds = QCheckBox(i18n('Use sounds if available'), self) self.kcfg_useSounds.setObjectName('kcfg_useSounds') self.kcfg_uploadVoice = QCheckBox(i18n('Let others hear my voice'), self) self.kcfg_uploadVoice.setObjectName('kcfg_uploadVoice') pol = QSizePolicy() pol.setHorizontalPolicy(QSizePolicy.Expanding) pol.setVerticalPolicy(QSizePolicy.Expanding) spacerItem = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Expanding) vlayout.addWidget(self.kcfg_showShadows) vlayout.addWidget(self.kcfg_rearrangeMelds) vlayout.addWidget(self.kcfg_showOnlyPossibleActions) vlayout.addWidget(self.kcfg_propose) vlayout.addWidget(self.kcfg_useSounds) vlayout.addWidget(self.kcfg_uploadVoice) vlayout.addLayout(sliderLayout) vlayout.addItem(spacerItem) self.setSizePolicy(pol) self.retranslateUi()
def plot2d(self): self.box = QHBox() toolbar = QVBox(self.box) self.plot2d = Plot2D(self.box, self.plotdata) self.slider = QSlider(QSlider.Vertical, toolbar, "slider") self.slider.setRange(0, self.plotdata.xmax - 1) self.slider.setValue(0) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.plot2d.slice) self.plot2d.slice(0) self.box.show()
class PlayConfigTab(QWidget): """Display Config tab""" def __init__(self, parent): super(PlayConfigTab, self).__init__(parent) self.setupUi() def setupUi(self): """layout the window""" self.setContentsMargins(0, 0, 0, 0) vlayout = QVBoxLayout(self) vlayout.setContentsMargins(0, 0, 0, 0) sliderLayout = QHBoxLayout() self.kcfg_showShadows = QCheckBox(m18n('Show tile shadows'), self) self.kcfg_showShadows.setObjectName('kcfg_showShadows') self.kcfg_rearrangeMelds = QCheckBox( m18n('Rearrange undisclosed tiles to melds'), self) self.kcfg_rearrangeMelds.setObjectName('kcfg_rearrangeMelds') self.kcfg_showOnlyPossibleActions = QCheckBox(m18n( 'Show only possible actions')) self.kcfg_showOnlyPossibleActions.setObjectName( 'kcfg_showOnlyPossibleActions') self.kcfg_propose = QCheckBox(m18n('Propose what to do')) self.kcfg_propose.setObjectName('kcfg_propose') self.kcfg_animationSpeed = QSlider(self) self.kcfg_animationSpeed.setObjectName('kcfg_animationSpeed') self.kcfg_animationSpeed.setOrientation(Qt.Horizontal) self.kcfg_animationSpeed.setSingleStep(1) lblSpeed = QLabel(m18n('Animation speed:')) lblSpeed.setBuddy(self.kcfg_animationSpeed) sliderLayout.addWidget(lblSpeed) sliderLayout.addWidget(self.kcfg_animationSpeed) self.kcfg_useSounds = QCheckBox(m18n('Use sounds if available'), self) self.kcfg_useSounds.setObjectName('kcfg_useSounds') self.kcfg_uploadVoice = QCheckBox(m18n( 'Let others hear my voice'), self) self.kcfg_uploadVoice.setObjectName('kcfg_uploadVoice') pol = QSizePolicy() pol.setHorizontalPolicy(QSizePolicy.Expanding) pol.setVerticalPolicy(QSizePolicy.Expanding) spacerItem = QSpacerItem( 20, 20, QSizePolicy.Minimum, QSizePolicy.Expanding) vlayout.addWidget(self.kcfg_showShadows) vlayout.addWidget(self.kcfg_rearrangeMelds) vlayout.addWidget(self.kcfg_showOnlyPossibleActions) vlayout.addWidget(self.kcfg_propose) vlayout.addWidget(self.kcfg_useSounds) vlayout.addWidget(self.kcfg_uploadVoice) vlayout.addLayout(sliderLayout) vlayout.addItem(spacerItem) self.setSizePolicy(pol) self.retranslateUi() def retranslateUi(self): """translate to current language""" pass
class Demo(QHBox): def __init__(self, filename, *args): QHBox.__init__(self, *args) t = QVBox(self) self.plotdata = PlotData(file(filename)) self.plot = Plot3D(self, self.plotdata) self.xmax = self.plotdata.xmax self.ymax = self.plotdata.ymax self.size = LCDRange(t, "size") self.size.setRange(30, 125) self.size.setValue(125) self.xpos = LCDRange(t, "xpos") self.xpos.setValue(725) self.ypos = LCDRange(t, "ypos") self.ypos.setValue(400) self.plot2d() QObject.connect(self.size, PYSIGNAL("valueChanged(int)"), self.plotdata.size) QObject.connect(self.xpos, PYSIGNAL("valueChanged(int)"), self.plotdata.xpos) QObject.connect(self.ypos, PYSIGNAL("valueChanged(int)"), self.plotdata.ypos) QObject.connect(self.plotdata, PYSIGNAL("sizeChanged()"), self.sizeChanged) self.sizeChanged() def plot2d(self): self.box = QHBox() toolbar = QVBox(self.box) self.plot2d = Plot2D(self.box, self.plotdata) self.slider = QSlider(QSlider.Vertical, toolbar, "slider") self.slider.setRange(0, self.plotdata.xmax - 1) self.slider.setValue(0) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.plot2d.slice) self.plot2d.slice(0) self.box.show() def sizeChanged(self): apply(self.xpos.setRange, self.plotdata.xRange()) apply(self.ypos.setRange, self.plotdata.yRange())