2012年01月26日

スライドバーとLCDNumber

2012y01m26d_031907207

スライドバーとLCDNumberを扱う。

以下がそのサンプルコード。


import sys
from PyQt4 import QtGui, QtCore

class Slide(QtGui.QWidget):
def __init__(self):
super(Slide,self).__init__()
self.setMyself()

def setMyself(self):
self.setGeometry(300,300,250,150)
self.setWindowTitle("slide")

lcd = QtGui.QLCDNumber(self)
slide = QtGui.QSlider(QtCore.Qt.Horizontal,self)

vbox = QtGui.QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(slide)

self.setLayout(vbox)
slide.valueChanged.connect(lcd.display)
self.show()

def main():
app = QtGui.QApplication(sys.argv)
ex = Slide()
sys.exit(app.exec_())

if __name__ == '__main__':
main()


LCDNumberのオブジェクトを生成する


電光掲示板のような数字の表示を行うのにLCDNumberを扱う。

lcd = QtGui.QLCDNumber(self)

引数には親を取る。

スライドバーのオブジェクトを生成する



slide = QtGui.QSlider(QtCore.Qt.Horizontal,self)

第一引数でQtCore.Qt.Horizontalとすることで、水平方向のスライドバー
QtCore.Qt.Verticalとすると、垂直方向のスライドバーを生成できる

スライドバーのシグナルを受ける


slide.valueChanged.connect(lcd.display)

lcd.displayをスロットに入れることで、lcdの値を直接変更し弄ることができるらしい。
おそらくvaluChangedのシグナルはスロットの引数に0から99の整数値を動的に渡すもの。

slide.valueChanged.connect(self.test)

def test(self,num):
self.count=num
print self.count

として、スライドバーを動かすとpythonのインタプリタが0〜99の整数値で一気に出力が流れた。


0から99の値ではなく、0から9の値とする時は以下のようになる。

2012y01m26d_043233002


import sys
from PyQt4 import QtGui, QtCore

class Slide(QtGui.QWidget):
def __init__(self):
super(Slide,self).__init__()
self.setMyself()
self.count=0;

def setMyself(self):
self.setGeometry(300,300,250,150)
self.setWindowTitle("slide")

self.lcd = QtGui.QLCDNumber(self)
self.slide = QtGui.QSlider(QtCore.Qt.Vertical,self)

self.hbox = QtGui.QHBoxLayout()
self.hbox.addWidget(self.lcd)
self.hbox.addWidget(self.slide)
self.slide.valueChanged.connect(self.test)
self.setLayout(self.hbox)

self.show()

def test(self,num):
self.count=num
#print self.count
self.lcd.display(self.count/10)


def main():
app = QtGui.QApplication(sys.argv)
ex = Slide()
sys.exit(app.exec_())

if __name__ == '__main__':
main()






この記事へのコメント

name:

mail:

HP:

comment:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/248518003

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。