您的位置:首页 > 编程语言 > Qt开发

pyQt 每日一练习 -- 登录框

2014-09-03 21:12 274 查看
#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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: