मैंने लगभग अपना आवेदन पूरा कर लिया, जब ग्राहक ने पूछा कि क्या मैं एप्लिकेशन स्टार्टअप पर किसी प्रकार का लॉगिन फॉर्म लागू कर सकता हूं।लॉगिन संवाद PyQt
अब तक मैंने UI को डिज़ाइन किया है, और वास्तविक निष्पादन के बारे में tinkered है। उपयोगकर्ता नाम और पासवर्ड अब के लिए अप्रासंगिक हैं।
class Login(QtGui.QDialog):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent)
self.ui=Ui_dlgLogovanje()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.buttonLogin, QtCore.SIGNAL("clicked()"), self.doLogin)
def doLogin(self):
name = str(self.ui.lineKorisnik.text())
passwd = str(self.ui.lineSifra.text())
if name == "john" and passwd =="doe":
self.runIt()
else:
QtGui.QMessageBox.warning(self, 'Greška',
"Bad user or password", QtGui.QMessageBox.Ok)
def runIt(self):
myprogram = Window()
myprogram.showMaximized() #myprogram is
class Window(QtGui.QMainWindow):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent)
self.ui=Ui_MainWindow()
self.ui.setupUi(self)
if __name__=="__main__":
program = QtGui.QApplication(sys.argv)
myprogram = Window()
if Login().exec_() == QtGui.QDialog.Accepted:
sys.exit(program.exec_())
लॉगिन फॉर्म दिखाया गया है। यदि सही उपयोगकर्ता नाम और पासवर्ड दर्ज किया गया है, तो मुख्य विंडो दिखायी जाती है और काम कर रही है। लेकिन, लॉगिन फॉर्म सक्रिय रहता है, और अगर मैं इसे बंद करता हूं, तो मुख्य विंडो भी बंद हो जाएगी।
btw, 'QtCore.QObject.connect (self.ui2.buttonLogin, QtCore.SIGNAL (" क्लिक() "), self.doLogin)' 'स्वयं के साथ बदला जा सकता है .ui2.buttonLogin.clicked.connect (self.doLogin) ' – warvariuc