고객이 응용 프로그램을 시작할 때 일종의 로그인 양식을 구현할 수 있는지 물어볼 때 거의 응용 프로그램을 마쳤습니다.로그인 대화 상자 PyQt
지금까지 UI를 디자인했으며 실제 실행에 대해 설명했습니다. 사용자 이름과 암호는 지금은 관련이 없습니다.
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_())
로그인 양식이 표시됩니다. 올바른 사용자 이름과 암호를 입력하면 주 창이 표시되어 작동합니다. 그러나 로그인 양식은 활성 상태로 유지되고 닫으면 기본 창이 닫힙니다.
이,'QtCore.QObject.connect (self.ui2.buttonLogin는, QtCore.SIGNAL는 ("클릭()"), self.doLogin)는'자기'로 대체 할 수있다 .ui2.buttonLogin.clicked.connect (self.doLogin) ' – warvariuc