from PyQt5.Qt import QApplication
from PyQt5 import uic
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import (QApplication, QDialog, QMessageBox, QPushButton,
QLabel, QCheckBox, QComboBox, QLineEdit, QSpinBox,
QMenu, QAction, QGridLayout, QHBoxLayout, QVBoxLayout,
QTextEdit, QGroupBox, QStyle, QSystemTrayIcon)
class Win_login(QDialog):
def __init__(self):
super(Win_login, self).__init__()
self.ui = uic.loadUi('login.ui')
self.createTrayIcon()
# 让托盘图标显示在系统托盘上
self.trayIcon.show()
# 创建托盘图标
def createTrayIcon(self):
aRestore = QAction('恢复(&R)', self, triggered=self.ui.show)
aQuit = QAction('退出(&Q)', self, triggered=QApplication.instance().quit)
menu = QMenu(self)
menu.addAction(aRestore)
menu.addAction(aQuit)
self.trayIcon = QSystemTrayIcon(self)
self.trayIcon.setIcon(QIcon('1.jpg'))
self.trayIcon.setContextMenu(menu)
self.trayIcon.activated.connect(self.iconActivated)
def iconActivated(self, reason):
if reason in (QSystemTrayIcon.DoubleClick, QSystemTrayIcon.MiddleClick):
self.ui.show()
def closeEvent(self, event):
if self.trayIcon.isVisible():
QMessageBox.information(self, '系统托盘',
'程序将继续在系统托盘中运行,要终止本程序,\n'
'请在系统托盘入口的上下文菜单中选择"退出"')
self.hide()
event.ignore()
app = QApplication(sys.argv)
QApplication.setQuitOnLastWindowClosed(False)
window = Win_login()
window.ui.show()
sys.exit(app.exec())
06-06
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交