#coding=utf-8
#第一个练习,登录框
import sys
from PyQt4 import QtGui,QtCore
#登录框
class LoginBox(QtGui.QWidget):
def __init__(self):
super(LoginBox, self).__init__()
self.initUI()
def initUI(self):
vBoxLayout = QtGui.QVBoxLayout()
hBoxLayout_1 = QtGui.QHBoxLayout()
nameLabel = QtGui.QLabel(u"姓名:", self)
self.nameInputEdit = QtGui.QLineEdit(self)
self.nameInputEdit.textChanged.connect(self.inputName)
hBoxLayout_1.addWidget(nameLabel)
hBoxLayout_1.addWidget(self.nameInputEdit)
vBoxLayout.addLayout(hBoxLayout_1)
hBoxLayout_2 = QtGui.QHBoxLayout()
passwordLabel = QtGui.QLabel(u"密码:", self)
self.passwordInputEdit = QtGui.QLineEdit(self)
self.passwordInputEdit.textChanged.connect(self.inputPassword)
hBoxLayout_2.addWidget(passwordLabel)
hBoxLayout_2.addWidget(self.passwordInputEdit)
vBoxLayout.addLayout(hBoxLayout_2)
hBoxLayout_3 = QtGui.QHBoxLayout()
okBtn = QtGui.QPushButton(u"确定", self)
cancleBtn = QtGui.QPushButton(u"取消", self)
okBtn.clicked.connect(self.clickOkBtn)
cancleBtn.clicked.connect(self.clickCancleBtn)
hBoxLayout_3.addWidget(okBtn)
hBoxLayout_3.addWidget(cancleBtn)
vBoxLayout.addLayout(hBoxLayout_3)
self.setLayout(vBoxLayout)
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(u"登录框")
self.resize(300, 150)
self.setCenterPos()
def inputName(self, text):
self.name = text
print "input name is " + str(self.name)
def inputPassword(self, text):
self.password = text
print "input password " + str(self.password)
def clickOkBtn(self):
sender = self.sender()
print unicode(sender.text()) + " be clicked"
info = u"姓名:" + str(self.name) + u" 密码:" + str(self.password)
reply = QtGui.QMessageBox.question(self, u"提示", info, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
print "right!"
else:
self.nameInputEdit.setText("")
self.passwordInputEdit.setText("")
def clickCancleBtn(self):
sender = self.sender()
print unicode(sender.text()) + " be clicked"
self.close()
def setCenterPos(self):
screen = QtGui.QDesktopWidget().screenGeometry()
selfSize = self.size()
self.move((screen.width() - selfSize.width())/2, (screen.height() - selfSize.height())/2)
def main():
app = QtGui.QApplication(sys.argv)
lb = LoginBox()
lb.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()