#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()

pyQt 每日一练习 -- 登录框的更多相关文章

  1. PyQt中登录框设计

    很多软件,比如QQ,亦或一些管理系统,运行之后都会先弹出一个登录框,只有登录成功了,才能进入软件主界面. 以前在邮件列表中回答过如何做登录框,这里重新整理下. 从刚开始做Delphi的时候就有不少人纠 ...

  2. 4.羽翼sqlmap学习笔记之Post登录框注入

    4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...

  3. Discuz! X2.5判断会员登录状态及外部调用注册登录框

    Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...

  4. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  5. javascript实例学习之三——类新浪微博的登录框

    该登录框和百度的搜索框类似,可以实现如下效果: 1.文字输入时自动弹出提示层 2,提示层根据输入文字进行自动过滤 3,提示层可以使用上下按键进行选择 4,提示层可以点击或者回车来确认输入 微博登录框h ...

  6. phpmyadmin 4.x 版本无法看到登录框的处理

    由于个人dreamhost即将到期问题,购买了一台VPS. 配置了一个CentOS 6.4 Linux 服务器,用Nginx+php-fpm搭建的环境. 这些都是废话,下面是重点: 当搭建后配置php ...

  7. csdn的登录框好难看

    不好意思说实话了,新的登陆框样式挺难看的,那种橙不明朗,介于黄和橙之间,跟整个网站主色调红和黑很不搭.不过,倒是有点跟风Win8平实的style,但是比Win8更简陋了点. tooltip要不加都不加 ...

  8. JQuery+CSS3实现封装弹出登录框效果

    原文:JQuery+CSS3实现封装弹出登录框效果 上次发了一篇使用Javascript来实现弹出层的效果,这次刚好用了JQuery来实现,所以顺便记录一下: 因为这次使用了Bootstrap来做一个 ...

  9. 第一百三十三节,JavaScript,封装库--弹出登录框

    JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...

随机推荐

  1. 台湾P2P平台

    2014年6月28日下午1:30,“2014两岸三地P2P网贷行业高峰论坛”在上海会展中心友谊会堂如期举行,现场高朋满座,来自全国各地的众多知名P2P网站平台的负责人参与了讨论,并就当前P2P行业的一 ...

  2. hadoop2的伪分布部署

    通过我们前面的操作,已经可以编译并且打包产生适合本机的hadoop包,目录是/usr/local/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0. 使 ...

  3. Spring 实践 -AOP

    Spring 实践 标签: Java与设计模式 AOP引介 AOP(Aspect Oriented Programing)面向切面编程采用横向抽取机制,以取代传统的纵向继承体系的重复性代码(如性能监控 ...

  4. UVa 11825 (状压DP) Hackers' Crackdown

    这是我做状压DP的第一道题,状压里面都是用位运算来完成的,只要耐下心来弄明白每次位运算的含义,还是容易理解的. 题意: 有编号为0~n-1的n台服务器,每台都运行着n中服务,每台服务器还和若干台其他服 ...

  5. OpenERP 安装在Windows server上时间显示不对的解决办法

    这个问题一直困扰着我,后台设置关于时区也参考过一些文章(如改配置文件),显示时间总是差8个小时,后来看了上面的文章后才搞定,虽然那个是解决OE7.0的,但原理一样: server\openerp\ad ...

  6. 'String' does not conform to protocol 'CollectionType' Error in Swift 2.0

    如下是报错需要修改的源码: // if count(currentPassword) < 6 || count(newPassword) < 6 || count(confirmPassw ...

  7. Service完全解析(转)

    今天我们来讲一下Android中Service的相关内容. Service在Android中和Activity是属于同一级别上的组件,我们可以将他们认为是两个好哥们,Activity仪表不凡,迷倒万千 ...

  8. erl0007 - erlang 远程节点连接的两种方式

    启动连接:erl -setcookie abc -name xxx@192.168.x.x -remsh xxx@192.168.x.y 退出:ctrl + g,q 参考:http://www.cnb ...

  9. (转)Python 字典排序

    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...

  10. ecshop首页调用评论及图片

    1.在library文件夹中建立一个名为index_comment.lbi文件 2.输入以下代码 <meta http-equiv="Content-Type" conten ...