Python 2.7.1 / PyQt 4.8.3 / Qt 4.7.2

Marrying the GUI components to processes that come fairly easy to me on the cli 
is a struggle for me at this point.  I have a mainwindow and some dialogs, all 
of which I can open ok and do some processing, etc.  What's difficult for me is 
figuring out where to draw the lines between application function and GUI 
control processing.  For example, I have a main window and one dialog that 
connects to a device for authentication.  The dialog has the lineedit widgets 
for collecting the username, password, and host and was designed with Designer. 
 Currently, my code looks like this:

class Main(QMainWindow, Ui_mw_Editor):
    def __init__(self):
        QMainWindow.__init__(self)

        # This is always the same
        self.setupUi(self)
                # QActions on Editor Menubar / Toolbar
                self.actionConnect.triggered.connect(self.connectDialog)

    def connectDialog(self):
                self.connectdlg = ConnectDlg()
                self.connectdlg.show()

class ConnectDlg(QDialog, Ui_dia_connect):
                def __init__(self):
                                QDialog.__init__(self)
                                self.setupUi(self)
                                self.pb_ok.clicked.connect(self.button_click)
                                self.pb_cancel.clicked.connect(self.reject)

                def button_click(self):
                    self.host = self.cb_hostname.currentText()
                    self.uname = self.le_username.text()
                    self.upass = self.le_password.text()
                    #print "Host is %s, Username is %s, Password is %s." % 
(self.host, self.uname, self.upass)

That works.  Now to the questions on approach:

1.       Should I move each dialog's code into a separate file and import it to 
keep the main window code clean?

2.       I'm still unsure how to pass data back from a dialog to the main 
window.   If I set the call to the dialog in the main class to a variable, 
would any object I return from the dialog be an attribute of that object, or 
would I need to create n objects for each object being returned?

3.       Does the return command destroy the dialog, or do I need to have a 
self.accept before the return?  The dialog closes, but I'm not sure what's 
proper to ensure cleanup in the backend.

Basically, just reaching out to the pros for some simple guidance on approach.  
Thanks,

Jason
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to