[Tutor] Classes in multiple files - code included
Phil
phil_lor at bigpond.com
Thu Apr 4 03:47:05 CEST 2013
On 04/04/13 09:32, Alan Gauld wrote:
<cut>
> Reme,ber that in python its the file name you need to use to import
>
> So if SatelliteListDialog is defined in satellite.py you need
>
> import satellite
>
> in your main window file.
> And satellite.py has to be in your library path too...
The Eric IDE must take care of the path. All I had to do was import the
file containing the dialog class.
> Then in your main window class you need to access the dialog with
>
> self.sld = satellite.SatelliteListDialog(...)
>
> or whatever. In other words you need the module name prefix.
>
> If that still doesn't work post some code and any error messages.
I think I must be very close now so I'll post just the code that I think
is relevant.
This the main window class:
from PyQt4.QtGui import QMainWindow
from PyQt4.QtCore import pyqtSignature
from Ui_mainwindow import Ui_MainWindow
from PyQt4 import QtGui
import satListDialog
class MainWindow(QMainWindow, Ui_MainWindow):
This is the function to show the dialog;
def on_actionList_triggered(self):
self.dialog = Ui_satListDialog.SatelliteListDialog()
self.dialog.show()
Finally, this is the dialog class;
from PyQt4.QtGui import QDialog
from PyQt4.QtCore import pyqtSignature
from Ui_satListDialog import Ui_Dialog
class SatelliteListDialog(QDialog, Ui_Dialog):
And this is the error message;
"global name 'Ui_satListDialog' is not defined"
I have tried just about every conceivable combination in the
on_actionList_triggered(self) function but I still end up with a "not
defined" error.
--
Regards,
Phil
More information about the Tutor
mailing list