Home >> Python >> PyQt4 Second
import sys from PyQt4.QtCore import * from PyQt4.QtGui import * # クラスの定義 class LCDSample(QWidget): # オブジェクトが作られる時のコンストラクタの定義 def __init__(self,parent=None): QWidget.__init__(self, parent) self.setWindowTitle( "LCD Sample") lcd = QLCDNumber(self) slider = QSlider(Qt.Horizontal,self) vbox = QVBoxLayout() vbox.addWidget(lcd) vbox.addWidget(slider) self.setLayout(vbox) # ここで結合しています self.connect( slider, SIGNAL("valueChanged(int)"), \ lcd, SLOT("display(int)")) self.resize(250, 150) # アプリケーションの起動 app = QApplication(sys.argv) ls = LCDSample() ls.show() sys.exit(app.exec_())
# SIGNALにあわせて、自分のクラスのメソッドを呼び出す import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class ActiveSample(QWidget): xxx = 0 label = None def __init__(self,parent=None): QWidget.__init__(self, parent) self.setWindowTitle( "Active Sample") self.label = QLabel(str(self.xxx)) slider = QSlider(Qt.Horizontal,self) vbox = QVBoxLayout() vbox.addWidget(self.label) vbox.addWidget(slider) self.setLayout(vbox) self.connect( slider, SIGNAL("valueChanged(int)"), self.changeXXX ) self.resize(300, 200) def changeXXX(self,x): self.xxx = x self.label.setText(str(self.xxx)) self.repaint() print(x) def paintEvent(self,event): paint = QPainter() paint.begin(self) paint.setPen(Qt.red) paint.drawEllipse(self.xxx, self.xxx,\ 200-self.xxx*2, 200-self.xxx*2) paint.end() app = QApplication(sys.argv) sample = ActiveSample() sample.show() sys.exit(app.exec_())
PyQt4 First | Python | PyQt4 Third |