Hi Guys,

I am new to pyqt, I try two qt designer files one is main window
second sub window,
Load main window click button open new window <allow things to happen>
user clicks exit on that window close sub window return to main window
I am tried with Form.close , window.deletelater Not working for me. I
have attached my code please guide me guys.

http://pastebin.com/UnHS0NRn

-Dhanasekaran.
Did I learn something today? If not, I wasted it.
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'window_process.ui'
#
# Created: Mon Jun 11 15:20:34 2012
#      by: PyQt4 UI code generator 4.7.2
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui
class sub_window(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(363, 188)
        self.pushButton = QtGui.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(22, 120, 121, 31))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtGui.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(240, 120, 93, 31))
        self.pushButton_2.setObjectName("pushButton_2")
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(140, 50, 141, 31))
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL("clicked()"), Form.close)
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.dosumfuction)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def dosumfuction(self):
        print "Doing sum fuction"
        print "Function finished"
        print "But window did not close How to close sub window"
        
        
    def retranslateUi(self, Form):
        Form.setWindowTitle(QtGui.QApplication.translate("Form", "subwindow", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setText(QtGui.QApplication.translate("Form", "Do sum function", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton_2.setText(QtGui.QApplication.translate("Form", "Quit", None, QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("Form", "subwindow", None, QtGui.QApplication.UnicodeUTF8))


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(407, 258)
        self.pushButton = QtGui.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(40, 170, 131, 31))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtGui.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(300, 170, 93, 31))
        self.pushButton_2.setObjectName("pushButton_2")
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(140, 60, 171, 51))
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL("clicked()"), Form.close)
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.opensubwindow)
        QtCore.QMetaObject.connectSlotsByName(Form)
    
    def opensubwindow(self):
        print "Subwindow starts"
        self.Form = QtGui.QWidget()
        self.sub_window1 = sub_window()
        self.sub_window1.setupUi(self.Form)
        self.Form.show()
        
        
    def retranslateUi(self, Form):
        Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setText(QtGui.QApplication.translate("Form", "Open New Window", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton_2.setText(QtGui.QApplication.translate("Form", "close", None, QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("Form", "Main Window", None, QtGui.QApplication.UnicodeUTF8))


if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Form = QtGui.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to