#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. memcached缓存雪崩现象及解决办法

    1)什么是缓存雪崩?场景:一个访问很大的文章(论坛之类)的网站,使用memcached缓存用户查询过的文章.设置的缓存过期时间为6小时,所以没过6小时,缓存就会失效并重建一遍 问题:过六小时时,一部分 ...

  2. Android AIDL自动生成Java文件测试

    /******************************************************************************** * Android AIDL自动生成 ...

  3. 在Datatables中加入错误提示功能

    经常用Datatables的童鞋一定碰到过当采用服务端请求的时候,一旦后台出现异常,Datatables的会一直卡在那里,中间的正在处理的提示一直停留着. 为了能给用户更好的体验,需要对Datatab ...

  4. Heritrix源码分析(十) Heritrix中的Http Status Code(Http状态码)(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/649737       本博客已迁移到本人独立博客: http://www.yun5u ...

  5. 一:ZooKeeper简介

    一:背景                --->随着互联网技术的高速发展,企业对计算机系统的计算,存储能力要求越来越高,最简单的明证就是出现一些诸如:高并发,海量存储这样的词汇.在这样的背景下, ...

  6. NodeJS学习笔记之MongoDB模块

    其中还有,nodejs远程连接mysql数据库 一,开篇分析 这篇属于扩展知识篇,因为在下面的文章中会用到数据库操作,所以今天就来说说它(Mongodb模块). (1),简介 MongoDB是一个基于 ...

  7. 使用服务器端控制AJAX页面缓存

    你知道 response.setHeader("Cache-Control","no-cache"); 这条语句是干什么的吗? 这是用来防止浏览器缓存动态内容生 ...

  8. JSTL笔记(胖先生版)

    今天系统的学习了一下jstl,来记录一下. 在学习jstl以前,先要引两个jar包,然后再加入标签: <%@ taglib prefix="c" uri="http ...

  9. div 绝对布局居中

    #loginbg{ position:absolute; height:200px; width:400px; margin:-100px 0px 0px -200px; top: 50%; left ...

  10. [Everyday Mathematics]20150302

    $$\bex |p|<\frac{1}{2}\ra \int_0^\infty \sex{\frac{x^p-x^{-p}}{1-x}}^2\rd x =2(1-2p\pi \cot 2p\pi ...