# -*- coding: utf-8 -*- from PyQt4 import QtGui, QtCore import hw_oop class MyDialog(QtGui.QDialog): def __init__(self,parent=None): QtGui.QDialog.__init__(self, parent) self.myWidget = hw_oop.MyWindow() self.myWidget.vbox.setMargin(0) self.button = QtGui.QPushButton(u'&Изменить надпись') mainBox = QtGui.QVBoxLayout() maimBox.addWidget(self.myWidget) maimBox.addWidget(self.button) self.setLayout(mainBox) self.connect(self.button, QtCore.SIGNAL('clicked()'), self.on_clicked) def on_clicked(self): self.myWidget.label.setText(u'Н&овая надпись') self.button.setDisabled(True) if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) window = MyDialog() window.setWindowTitle(u'Преимущество ООП-стиля') window.resize(300, 100) window.show() sys.exit(app.exec_())
app = QtGui.QApplication(sys.argv)
ПС. На всякий случай код модуля, который импортируется:
# -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui class MyWindow(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.label = QtGui.QLabel(u'Привет, мир!') self.label.setAlignment(QtCore.Qt.AlignCenter) self.btnQuit = QtGui.QPushButton(u'&Закрыть окно') self.vbox = QtGui.QVBoxLayout() self.vbox.addWidget(self.label) self.vbox.addWidget(self.btnQuit) self.setLayout(self.vbox) self.connect(self.btnQuit, QtCore.SIGNAL('clicked()'), QtGui.qApp.quit) if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) window = MyWindow() window.setWindowTitle(u'ООП-стмль создания окна') window.resize(300, 70) window.show() sys.exit(app.exec_())