基本功能实现了,但是不够漂亮
屏蔽了Alt+F4,但是Ctrl+Alt+Del没能屏蔽



# -*- coding: utf-8 -*-u"""
一个挂机锁软件。author: Mpc
last edited: Mat 2014
"""import sys
import random
from PyQt4 import QtGui, QtCoreclass Example(QtGui.QWidget):def __init__(self):super(Example, self).__init__()self.initUI()def initUI(self):#Labellbl1 = QtGui.QLabel(u'密    码:', self)lbl1.setAlignment(QtCore.Qt.AlignRight)lbl2 = QtGui.QLabel(u'确认密码:', self)#LineEditself.le1 = QtGui.QLineEdit(self)self.le2 = QtGui.QLineEdit(self)#PushButtonokButton = QtGui.QPushButton("OK")okButton.clicked.connect(self.okButton_reponds)cancelButton = QtGui.QPushButton("Cancel")cancelButton.clicked.connect(self.cancelButton_reponds)#hbox1hbox1 = QtGui.QHBoxLayout()hbox1.addStretch(1)hbox1.addWidget(lbl1)hbox1.addWidget(self.le1)hbox1.addStretch(1)#hbox2hbox2 = QtGui.QHBoxLayout()hbox2.addStretch(1)hbox2.addWidget(lbl2)hbox2.addWidget(self.le2)hbox2.addStretch(1)#hbox3hbox3 = QtGui.QHBoxLayout()hbox3.addStretch(1)hbox3.addWidget(okButton)hbox3.addWidget(cancelButton)hbox3.addStretch(1)vbox = QtGui.QVBoxLayout()vbox.addStretch(1)vbox.addLayout(hbox1)vbox.addLayout(hbox2)vbox.addLayout(hbox3)vbox.addStretch(1)self.setLayout(vbox)     self.setGeometry(300, 300, 250, 150)        self.setWindowTitle(u'挂机锁') self.show()def okButton_reponds(self):if not self.le1.text().compare(self.le2.text()):if self.le1.text() == '':QtGui.QMessageBox.information(self, 'Error', u'请键入密码!!')else:self.lockScreen = LockScreen()self.lockScreen.password_lock = self.le1.text()self.close()else:QtGui.QMessageBox.information(self, 'Error', u'密码不一致')self.le1.setText('')self.le2.setText('')def keyPressEvent(self, event):keyEvent = QtGui.QKeyEvent(event)if keyEvent.key() == QtCore.Qt.Key_Return:self.okButton_reponds()def cancelButton_reponds(self):self.le1.setText('')self.le2.setText('')class LockScreen(QtGui.QWidget):def __init__(self):super(LockScreen, self).__init__()self.initUI()#passwordself.password_lock = ''def initUI(self):#Labellbl1 = QtGui.QLabel(u'密    码:', self)lbl1.setAlignment(QtCore.Qt.AlignRight)lbl2 = QtGui.QLabel(u'挂机中.......请勿乱动!!', self)lbl2.setAlignment(QtCore.Qt.AlignRight)lbl2.setFont(QtGui.QFont(u"华文行楷", 50, 20))#LineEditself.le1 = QtGui.QLineEdit(self)#PushButtonokButton = QtGui.QPushButton("OK")okButton.clicked.connect(self.okButton_reponds)cancelButton = QtGui.QPushButton("Cancel")cancelButton.clicked.connect(self.cancelButton_reponds)#hbox1hbox1 = QtGui.QHBoxLayout()hbox1.addStretch(1)hbox1.addWidget(lbl1)hbox1.addWidget(self.le1)hbox1.addStretch(1)#hbox2hbox2 = QtGui.QHBoxLayout()hbox2.addStretch(1)hbox2.addWidget(lbl2)hbox2.addStretch(1)#hbox3hbox3 = QtGui.QHBoxLayout()hbox3.addStretch(1)hbox3.addWidget(okButton)hbox3.addWidget(cancelButton)hbox3.addStretch(1)vbox = QtGui.QVBoxLayout()vbox.addStretch(1)vbox.addLayout(hbox2)vbox.addStretch(1)vbox.addLayout(hbox1) vbox.addLayout(hbox3)vbox.addStretch(1)self.setLayout(vbox)self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)self.showFullScreen()#backgroundimageself.setAutoFillBackground(True)palette = QtGui.QPalette()
#        palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(QtGui.QPixmap("g:/Python/pictures/" +str(random.randint(1, 500))+".jpg").scaled(self.size(), QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)))palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(QtGui.QColor(170, 58, 146)))self.setPalette(palette)self.setWindowTitle(u'挂机锁') self.show()def okButton_reponds(self):if self.password_lock == self.le1.text():QtCore.QCoreApplication.instance().quit()elif self.le1.text() == '':QtGui.QMessageBox.information(self, 'Error', u'请键入密码!!')elif (not (self.le1.text() == '') and not self.password_lock == self.le1.text()):QtGui.QMessageBox.information(self, 'Error', u'密码错误!!')self.le1.setText('')def keyPressEvent(self, event):keyEvent = QtGui.QKeyEvent(event)if keyEvent.key() == QtCore.Qt.Key_Return:self.okButton_reponds()#屏蔽Alt+F4def closeEvent(self, event):event.ignore()def cancelButton_reponds(self):self.le1.setText('')self.le2.setText('')def main():app = QtGui.QApplication(sys.argv)ex = Example()sys.exit(app.exec_())if __name__ == '__main__':main()

一个用Python写的简易挂机锁相关推荐

  1. python制作网页挂机_一个用Python写的简易挂机锁

    基本功能实现了,但是不够漂亮屏蔽了Alt+F4,但是Ctrl+Alt+Del没能屏蔽# -*- coding: utf-8 -*- u""" 一个挂机锁软件. autho ...

  2. python编写一个软件-python写一个随机点名软件的实例

    最近有个随机点名软件的需求,故写了一个,上代码:github地址 # -*- coding: utf-8 -*- # @Time : 18-12-31 下午4:21 # @Author : Felix ...

  3. 用python写的简易黑客游戏

    "黑客"相信这个词语在IT界应该很常见,其中有些人制作了一些黑客游戏,今天我们就来用python做一个简易的黑客游戏. 我用5个小时写了一个通关类的黑客游戏,适用于python3编 ...

  4. 分享一个Auto.js写的自动挂机聊天源码(保护生态)

    这个软件是Auto.js写的,可以实现自动打招呼和聊天的功能-保护生态,下面分享软件部分核心源码,希望对auto.js技术爱好者有所启示. "ui"; var Base64 = a ...

  5. 内网python 仓库_GitHub - xanarry/LanTrans-desktop: 这是一个用python写的局域网传文件工具, 跨平台, 仓库中还有安卓版的工程...

    文档(代码比较乱) ubuntu效果 windows效果 主程序, Lantans_desktop.py 运行时所需环境: python3.4, PyQT5 如果接收过程无法被扫描到, 请关闭防火墙 ...

  6. python垃圾语言-分享一个用python写的window清理缓存垃圾小程序

    [Python] 纯文本查看 复制代码# coding: utf-8 import os import shutil del_extension = [".tmp", " ...

  7. 基于Python写的简易英雄联盟系统

    import msvcrtdef show(a=1):print(" ************************英雄联盟登录界面*************************&qu ...

  8. 准备分享一个用python写自动抢鞋的程序

    为了提高人气,视关注程度,考虑分享一下之前做的一个自动抢鞋的代码,能够自动登录nike官网,支持多用户登录,实现多线程抢鞋的任务,再打印相应的结果.

  9. 用Python写表白程序,给另一半一个惊喜

    每年的七夕或者情人节,基本送的都是玫瑰花或者小礼物,送多了,也就没有了什么惊喜,今天教大家一个用Python写表白程序的办法,给你的另一半一个惊喜. 用python实现表白程序的方法: 1.创建GUI ...

最新文章

  1. SpringBoot项目打war包部署Tomcat教程
  2. 计算机硬件课题,课题:计算机硬件结构介绍
  3. python简单程序实例-python实现的简单窗口倒计时界面实例
  4. python tkinter frame滚动条_如何在Tkinter中创建带有滚动条的LabelFrame?
  5. Killer网卡驱动导致蓝屏修复方法
  6. python实例008--摄氏温度和华氏温度转换
  7. 真核有参转录组测序标准分析
  8. 【技巧】如何给CSDN上的每篇原创文章添加版权声明
  9. 3D俯视角色割草游戏模板+视频教程,免费发布 | 一周精品推荐
  10. CSS 按钮悬停效果
  11. 那些脑残粉请闭嘴好吗,这不是硬科幻
  12. 2021-05-13 python样条插值(一)
  13. 聊一聊count的性能
  14. 全职ui设计师岗位需要具备哪些工作技能
  15. HtmlCss光标(插入符caret)透明隐藏光标 221106笔记
  16. js:Vue.js自定义指令实现scroll下滑滚动翻页
  17. Ubuntu趣味应用探索----我们怎么在ubuntu上玩QQ
  18. 汉语言文学研究生C,汉语言文学专业学生考研要考什么科目
  19. 解决不同逻辑电平的兼容问题
  20. 价值99!超级搜索工具,啥都能搜!

热门文章

  1. KT vs SKT [20160816]
  2. java通过url读取pdf数据
  3. 光学取景屏跑焦_光学取景器和电子取景器有什么区别?
  4. 音视频行业大势如何,优势在哪?
  5. 信号与系统第一次试验:连续时间信号的MATLAB表示及运算
  6. Docker容器安装以及一些常用软件基于docker安装
  7. hibernate删除数据
  8. 魅族18息屏显示消息方法步骤
  9. jquery-draggable总结
  10. 中国app开发公司前十名的共同特点