pyQt 每日一练习 -- 登录框

1 篇文章 0 订阅
#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()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值