python - Hide or unhide a QLabel at the same location -


लॉगिन पृष्ठ

मैं 'अमान्य उपयोगकर्ता नाम' और 'अमान्य पासवर्ड' QLabels को केवल तभी दिखाऊंगा जब उपयोगकर्ता नाम और पासवर्ड क्रमशः गलत हो, अन्यथा मैं उन्हें छिपाना चाहता हूं।

I छिपाने () और शो () विधियों का उपयोग करने की कोशिश की, लेकिन QLabels एक अलग पॉप-अप विंडो में शो () विधि के साथ प्रदर्शित की जाती है, ऊपर दिखाए गए स्थिति में प्रदर्शित करने के बजाय (ब्लैक बॉक्स में)।

< P> मैं पायथन में कोड लिख रहा हूं।

कृपया सुझाव दें।

पुस्तकालयों का आयात किया गया:

  PyQt4 से आयात सिस्टम आयात करें। QtCore आयात * PyQt4 से .QtGui आयात *  

कोड नीचे दिया गया है:

  # लेबल्स self.ErrorUsrName = QLabel ("अमान्य उपयोगकर्ता नाम") self.ErrorPasswd = QLabel ("अमान्य पासवर्ड ") #Buttons self.Lbutton = QPushButton (" लॉगिन ") self.Cbutton = QPushButton (" रद्द करें ") # लिन संपादन स्वयं। यूसराना = QLineEdit (" उपयोगकर्ता नाम ") self.Passwd = QLineEdit (" पासवर्ड ") स्वयं UsrNa Me.selectAll () #Grid लेआउट self.grid = QGridLayout () self.grid.addWidget (self.UsrName, 1,0) self.grid.addWidget (self.ErrorUsrName.hide (), 2,0) स्वयं। ग्रिड .addWidget (स्व.पास्वुड, 3,0) स्वयं। ग्रिड.एडविजेट (स्वयं। एआरआरपीसवाइड।), 4,0) स्वयं। ग्रैड.एडविजेट (स्वयं। लेबटन, 5,0) स्वयं। ग्रैड.एडविड्ट (स्वयं सीबटन, 6,0) स्वयं। सेटलेआउट (स्वयं। ग्रैड) स्वयं.यूएसआरनाम.सेटफोकस () # सिग्नल स्वयं। कनेक्ट करें (स्वयं। क्यूबटन, सिग्नल ("क्लिक किया ()"), स्वयं, स्लॉट ("अस्वीकार करें") )) स्वयं। कनेक्ट (स्वयं। लेबटन, सिग्नल ("क्लिक किया ()", self.login)  

बटन के लिए लॉगिन फ़ंक्शन

  def लॉगिन (स्वयं): अगर (self.UsrName.text () == "एजाज" और स्वयं। Passwd.text () == "परीक्षण"): प्रिंट "लॉगिन सफल!" एलीफ़ स्वयं.यूएसआरएन.एम.टेक्स्ट () & lt; & gt; "एजाज": स्वयं। ईआरयूआरयू.एस.आर.नाम। शो () एलीफ़ सेल्फ। पीसवुड.टेक्स्ट () & lt; & gt; "Test": self.ErrorPasswd.show ()  

आपकी समस्या निम्न पंक्तियां हैं :

<पूर्व> self.grid.addWidget (self.ErrorUsrName.hide (), 2,0) ... self.grid.addWidget (self.ErrorPasswd.hide (), 4,0)

छिपे फ़ंक्शन QLabel वस्तुओं को वापस नहीं करता, इसलिए आप उन्हें ग्रिड में नहीं जोड़ रहे हैं। आपको कहीं और छिपाना () फ़ंक्शन को कॉल करना चाहिए, उदाहरण के लिए:

  # लेबल्स स्वयं। एर्रयूस्रनाम = क्यूएलabel ("अमान्य उपयोगकर्ता नाम") स्वयं। "अमान्य पासवर्ड") self.ErrorPasswd.hide () ... self.grid.addWidget (self.ErrorUsrName, 2.0) self.grid.addWidget (self.ErrorPasswd, 4,0)  

यह आपकी समस्या का समाधान करेगा।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -