クラス方式で機能を実現する
1470 ワード
#!/usr/bin/env python
#coding:utf-8
import sys
from PyQt4 import QtCore
from PyQt4.QtGui import *
app = QApplication(sys.argv)
okButton = QPushButton('OK')
closeButton = QPushButton('CLOSE')
layout = QHBoxLayout()
layout.addWidget(okButton)
layout.addWidget(closeButton)
widget = QWidget()
widget.setLayout(layout)
# , , pythonic.
#widget.connect(closeButton,QtCore.SIGNAL('clicked()'),qApp,QtCore.SLOT('quit()'))
closeButton.clicked.connect(widget.close)
widget.show()
app.exec_()
上記の方法で実現した機能は,ウィンドウを生成しcloseボタンをクリックすることでウィンドウを閉じる.以下のプログラムは同様の機能を実現しているが,オブジェクト向けの形式で実現されている.
#!/usr/bin/env python
#coding:utf-8
import sys
from PyQt4.QtGui import *
class Button(QWidget):
def __init__(self,parent = None):
QWidget.__init__(self)
self.creatButton()
# close ;self.close myButton.colse
self.closeButton.clicked.connect(self.close)
def creatButton(self):
# self,
# , , self
self.okButton = QPushButton('OK')
self.closeButton = QPushButton('CLOSE')
layout = QHBoxLayout()
layout.addWidget(self.okButton)
layout.addWidget(self.closeButton)
self.setLayout(layout)
app = QApplication(sys.argv)
myButton = Button()
myButton.show()
app.exec_()