撸了个 PyQt 的小脚本
不想让系统休眠,又不想让别人看到在做什么,所以用 PyQt 写了个页面,顺便练练手,好久没写 Qt 了。顺便说句,PyQt 成为最主流的 Python UI 工具,真的是很让人意外。
程序很简单,页面一直保持在最前面...点左上角红点点退出...啥都不显示就只有你知道这里有个按键了 :) ...如果要更复杂功能,可以继续扩充。
为什么不屏蔽系统按键?因为我没管理员权限。这可能是没有管理员权限的情况下,最好的方案了。
上代码。
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QLineEdit from PyQt5 import QtCore,QtGui from PyQt5.QtCore import QTimer class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('test') self.setWindowFlags(QtCore.Qt.FramelessWindowHint|QtCore.Qt.WindowStaysOnTopHint|QtCore.Qt.Window) font = QtGui.QFont() font.setPointSize(24) self.timer = QTimer(self) self.timer.timeout.connect(self.goToTop) self.timer.start(1000) self.lb= QLabel("Do not move, test is running...", self) self.lb.setFont(font) self.lb.setGeometry(QtCore.QRect(70, 440, 2000, 50)) self.lb2= QLabel("Call me: xxx-xxx-xxx", self) self.lb2.setFont(font) self.lb2.setGeometry(QtCore.QRect(70, 540, 2000, 50)) self.btn = QPushButton("", self) self.btn.clicked.connect(self.clicks) self.btn.setGeometry(QtCore.QRect(0, 0, 50, 50)) self.btn.setFocusPolicy(QtCore.Qt.NoFocus) self.installEventFilter( self) self.setStyleSheet("border:none;color:red;background-color:black;") self.showFullScreen() self.activateWindow() def goToTop(self): self.setWindowState(self.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive) self.setWindowFlags(QtCore.Qt.FramelessWindowHint|QtCore.Qt.WindowStaysOnTopHint|QtCore.Qt.Window) def clicks(self): QApplication.instance().quit() def closeEvent(self, event): event.ignore() def keyPressEvent(self, event): if event.key() != QtCore.Qt.Key_Escape: super().keyPressEvent(event) if __name__ == '__main__': try: app except: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
——————无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。