[PyQt] Problem calling a window
Sandro Dutra
hexodin at gmail.com
Sat Jan 17 20:12:44 GMT 2009
Finally, with this code by Sergio Jovani, the problem is solved.
'''
Try with this:
wndMain = Pro2MainWindow(self) # <--- set as parent QDialog
wndMain.showMaximized()
self.hide()
'''
Thanks!
2009/1/15 Sergio Jovani <lesergi at gmail.com>
> Hi,
>
> If you want to call a QMainWindow from a QDialog you have to set a
> parent. exec_() gets attribute error because I thought it was a
> QDialog :P
>
> Try with this:
>
> wndMain = Pro2MainWindow(self) # <--- set as parent QDialog
> wndMain.showMaximized()
> self.hide()
>
> 2009/1/15 Sandro Dutra <hexodin at gmail.com>:
> > Sorry for the delay... it's the time, it's the time...
> >
> > I used Eric4 and QtDesigner, so the Pro2MainWindow it's only the window
> > without the widgets (I only want to test the call), here's the code:
> >
> > ---Pro2MainWindow Code---
> > # -*- coding: utf-8 -*-
> >
> > """
> > Module implementing Pro2MainWindow.
> > """
> >
> > from PyQt4.QtGui import QMainWindow
> > from PyQt4.QtCore import pyqtSignature
> >
> > from Ui_Pro2MainWindow import Ui_Pro2MainWindow
> >
> > class Pro2MainWindow(QMainWindow, Ui_Pro2MainWindow):
> > """
> > Class documentation goes here.
> > """
> > def __init__(self, parent = None):
> > """
> > Constructor
> > """
> > QMainWindow.__init__(self, parent)
> > self.setupUi(self)
> >
> > The setupUi, only call the definitions of the ui generated by QtDesigner,
> > and here's the complete code for the login screen:
> > # -*- coding: utf-8 -*-
> >
> > """
> > Module implementing DialogPro2Login.
> > """
> >
> > from PyQt4.QtGui import QDialog, QMessageBox, QApplication
> > from PyQt4.QtCore import pyqtSignature
> >
> > from Ui_Pro2Login import Ui_DialogPro2Login
> > from Pro2MainWindow import Pro2MainWindow
> > from db.database import Pro2db
> >
> > import MySQLdb, sys
> >
> > class DialogPro2Login(QDialog, Ui_DialogPro2Login):
> > """
> > Class documentation goes here.
> > """
> > def __init__(self, parent = None):
> > """
> > Constructor
> > """
> > QDialog.__init__(self, parent)
> > self.setupUi(self)
> >
> > @pyqtSignature("")
> > def on_pushButton_enter_clicked(self):
> > user = self.lineEdit_user.text()
> > passw = self.lineEdit_passw.text()
> > if user == "" or passw == "":
> > QMessageBox.information(self, "ERRO", u"Por favor, entre
> com o
> > usuário e senha.", "OK")
> > else:
> > try:
> > p2db = Pro2db(str(user), str(passw)) ### Here is where I
> > want to call the mainwindow ####
> > wndMain = Pro2MainWindow()
> > wndMain.exec_()
> > wndMain.showMaximized()
> > self.hide()
> > ##############################
> > except MySQLdb.Error, error_code:
> > if error_code[0] == 1045:
> > message = u"Acesso negado para o usuário: %s" %user
> > elif error_code[0] == 2003:
> > message = u"Não foi possível realizar a conexão."
> > else:
> > message = u"Erro desconhecido.\nCódigo
> administrativo:
> > %s - %s." %(error_code[0], error_code[1])
> > QMessageBox.information(self, "Falha no acesso", u"O
> > servidor informa:\n%s" %message, "OK")
> >
> > @pyqtSignature("")
> > def on_pushButton_exit_clicked(
> > self):
> > self.close()
> >
> > If you need more info tell me,
> > Thanks for the attention to a so noob problem.
> > Sandro Dutra - Brazil.
> > _______________________________________________
> > PyQt mailing list PyQt at riverbankcomputing.com
> > http://www.riverbankcomputing.com/mailman/listinfo/pyqt
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090117/4d2e8e90/attachment-0001.html
More information about the PyQt
mailing list