PyQt4 -- 设置系统托盘显示
来源:互联网 发布:范尼凯克400 知乎 编辑:程序博客网 时间:2024/05/19 13:26
文章转载请著名出处。
这篇文章教大家写PyQt4程序的时候 如何设置程序在系统托盘区域显示图标
系统托盘指的是这块区域:
(笔者用的是window7)
直接上源码:
from PyQt4 import QtGuiimport sysapp = QtGui.QApplication(sys.argv)w = QtGui.QWidget()w.resize(250, 150)w.move(300, 300)w.setWindowTitle('Simple')w.show()tuopan = QtGui.QSystemTrayIcon(w)icon1 = QtGui.QIcon('tuopan.jpg')tuopan.setIcon(icon1)tuopan.show()tuopan.showMessage("haha","content",icon=3)def message(): print ("弹出的信息被点击了") tuopan.messageClicked.connect(message)# 弹出的信息被点击就会调用messageClicked连接的函数def a(): print ("系统托盘图标被点击了") tuopan.activated.connect(a)# 在系统托盘区域的图标被点击就会触发activated连接的函数(此例中是a函数)sys.exit(app.exec_())
运行后的效果:
下面来详细讲解代码的意思。
from PyQt4 import QtGuiimport sys
从PyQT4中 导入QtGui
导入sys是因为我们需要它的退出函数.
app = QtGui.QApplication(sys.argv)
每個 Qt GUI 程式都需要一個 ( 并且是唯一一个 ) QApplication,負責管理 Qt 資源、控制執行流程和有的沒的例行事務。
雖然很少會用 命令行 來启动 GUI 程式,還是得帶 sys.argv 參數來初始化它。
w = QtGui.QWidget()w.resize(250, 150)w.move(300, 300)w.setWindowTitle('Simple')w.show()
创建一个QWidget()控件,赋值给了w变量。
设置大小为宽250 高150
移动到屏幕上x:300 y:300坐标
并设置窗口标题为Simple
最后一行的show()方法是显示这个控件,如果不show(),它就不会显示在屏幕上。
tuopan = QtGui.QSystemTrayIcon(w)
这一行新建了一个QSystemTrayIcon对象,
我们想在系统托盘显示图标就必须创建它,因为它提供了方法让我们选择图片在系统托盘里显示。
参数w是他的父控件。 (记不记得前面我们创建了一个QWidget对象赋值给了w变量?)
然后赋值给了tuopan变量。
icon1 = QtGui.QIcon('tuopan.jpg')
第二行创建了一个QIcon对象,然后把他赋值给icon1,这个对象载入了名为tuopan.jpg的图片,图片是和代码文件同目录的,所以不用带路径。
tuopan.jpg图片的样子:
tuopan.setIcon(icon1)
我们用tuopan的setIcon方法来设置系统托盘图标。 上一行代码我们只是创建了一个QIcon对象而已,什么都没做。
tuopan.show()
调用对象的show()方法,调用后便会显示系统托盘。
如果不show(), 便不会显示, 后面的showMessage也会失效.
tuopan.showMessage("haha","content",icon=0)
showMessage()方法是用来显示托盘弹出来的信息的。 这个方法还有1个参数叫做msecs
第一个参数是标题
第二个参数是内容
第三个参数是显示的图标,如果为0,则是不显示任何图标。如下图:
还有3个可选值。分别是1,2,3. (官方文档的截图):
选择1,则代表是信息图标,如下图:
2:
3:
只有这3个,不能自定义。 T_T
文档网址:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsystemtrayicon.html#MessageIcon-enum
对象的事件
这个对象 (QSystemTrayIcon)。 只有2个事件。 ( 不信?看文档:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsystemtrayicon.html#showMessage )
分别是 messageClicked() 和 activated()
messageClicked() 如果有绑定处理函数,那么当弹出的信息(之前我们那个showMessage()) 被点击后会触发该函数
activated() 是当托盘图标被点击的时候触发所绑定的处理函数
def message():
print ("弹出的信息被点击了")
tuopan.messageClicked.connect(message)
上面代码中,messageClicked事件绑定 (或者说连接,很多书中喜欢说连接)了message函数。
如前面所说,当弹出的信息框被点击的时候就会触发messageClicked事件。
那个信息框被点击后就会消失。 如图:
【点击弹出的信息框前】 (这里我的showMessage函数的icon参数是1,所以会有那个三角感叹号图标。)
【点击后】:
( = = 图片中的其他东西请忽略掉就好。。)
def a():
print ("系统托盘图标被点击了")
tuopan.activated.connect(a)
同样, 这里也是一样。
看图(我先点了弹出来的信息框,然后点了好多次那个系统图标,所以会输出这么多行。):
如果还有哪里看不懂的欢迎留言 (我知道我写文章的功力很差,啊哈哈哈……)
本篇文章完。
这篇文章教大家写PyQt4程序的时候 如何设置程序在系统托盘区域显示图标
系统托盘指的是这块区域:
(笔者用的是window7)
直接上源码:
from PyQt4 import QtGuiimport sysapp = QtGui.QApplication(sys.argv)w = QtGui.QWidget()w.resize(250, 150)w.move(300, 300)w.setWindowTitle('Simple')w.show()tuopan = QtGui.QSystemTrayIcon(w)icon1 = QtGui.QIcon('tuopan.jpg')tuopan.setIcon(icon1)tuopan.show()tuopan.showMessage("haha","content",icon=3)
def message(): print ("弹出的信息被点击了") tuopan.messageClicked.connect(message)# 弹出的信息被点击就会调用messageClicked连接的函数def a(): print ("系统托盘图标被点击了") tuopan.activated.connect(a)# 在系统托盘区域的图标被点击就会触发activated连接的函数(此例中是a函数)
sys.exit(app.exec_())
下面来详细讲解代码的意思。
from PyQt4 import QtGuiimport sys
从PyQT4中 导入QtGui导入sys是因为我们需要它的退出函数.
app = QtGui.QApplication(sys.argv)
每個 Qt GUI 程式都需要一個 ( 并且是唯一一个 ) QApplication,負責管理 Qt 資源、控制執行流程和有的沒的例行事務。雖然很少會用 命令行 來启动 GUI 程式,還是得帶 sys.argv 參數來初始化它。w = QtGui.QWidget()w.resize(250, 150)w.move(300, 300)w.setWindowTitle('Simple')w.show()
创建一个QWidget()控件,赋值给了w变量
设置大小为宽250 高150
移动到屏幕上x:300 y:300坐标
并设置窗口标题为Simple
最后一行的show()方法是显示这个控件,如果不show(),它就不会显示在屏幕上。
tuopan = QtGui.QSystemTrayIcon(w)
这一行新建了一个QSystemTrayIcon对象,我们想在系统托盘显示图标就必须创建它,因为它提供了方法让我们选择图片在系统托盘里显示。
参数w是他的父控件。 (记不记得前面我们创建了一个QWidget对象赋值给了w变量?)
然后赋值给了tuopan变量。
icon1 = QtGui.QIcon('tuopan.jpg')
第二行创建了一个QIcon对象,然后把他赋值给icon1,这个对象载入了名为tuopan.jpg的图片,图片是和代码文件同目录的,所以不用带路径。
tuopan.setIcon(icon1)
我们用tuopan的setIcon方法来设置系统托盘图标。 上一行代码我们只是创建了一个QIcon对象而已,什么都没做。
tuopan.show()
调用对象的show()方法,调用后便会显示系统托盘。
如果不show(), 便不会显示, 后面的showMessage也会失效.
tuopan.showMessage("haha","content",icon=0)
showMessage()方法是用来显示托盘弹出来的信息的。 这个方法还有1个参数叫做msecs
第一个参数是标题
第二个参数是内容
第三个参数是显示的图标,如果为0,则是不显示任何图标。如下图:
还有3个可选值。分别是1,2,3. (官方文档的截图):
选择1,则代表是信息图标,如下图:
2:
3:
只有这3个,不能自定义。 T_T
文档网址:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsystemtrayicon.html#MessageIcon-enum
对象的事件
这个对象 (QSystemTrayIcon)。 只有2个事件。 ( 不信?看文档:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsystemtrayicon.html#showMessage )
分别是 messageClicked() 和 activated()
messageClicked() 如果有绑定处理函数,那么当弹出的信息(之前我们那个showMessage()) 被点击后会触发该函数
activated() 是当托盘图标被点击的时候触发所绑定的处理函数
def message(): print ("弹出的信息被点击了") tuopan.messageClicked.connect(message)
上面代码中,messageClicked事件绑定 (或者说连接,很多书中喜欢说连接)了message函数。
如前面所说,当弹出的信息框被点击的时候就会触发messageClicked事件。
那个信息框被点击后就会消失。 如图:
【点击弹出的信息框前】 (这里我的showMessage函数的icon参数是1,所以会有那个三角感叹号图标。)
【点击后】:
( = = 图片中的其他东西请忽略掉就好。。)
def a(): print ("系统托盘图标被点击了") tuopan.activated.connect(a)
同样, 这里也是一样。
看图(我先点了弹出来的信息框,然后点了好多次那个系统图标,所以会输出这么多行。):
如果还有哪里看不懂的欢迎留言 (我知道我写文章的功力很差,啊哈哈哈……)
本篇文章完。
- PyQt4 -- 设置系统托盘显示
- PyQt icon创建,显示 PyQt4 -- 系统托盘图标设置
- python + pyqt4 中文显示
- PyQt4 动态显示ui
- 如何设置系统托盘图标
- Qt之设置系统托盘
- pyQt4实时显示--QApplication.processEvents
- PyQt4中的中文显示问题
- Pyqt4 实现窗口全屏显示
- 系统托盘不显示声音图标
- 系统托盘中显示程序图标
- Qt编程技巧 系统托盘设置
- Pyqt4
- pyqt4
- Pyqt4 最小化与最大化按钮显示
- PyQT4文本框中文显示编码问题详解
- PyQt4实时显示文本内容GUI
- 系统托盘
- fusioncharts的属性介绍
- 进程和线程(android)
- 简单 却爱
- 类中线程的使用
- 面向对象三要素
- PyQt4 -- 设置系统托盘显示
- css-文字超出显示省略号
- CDN技术
- 土坷垃的情怀
- C#笔记整理(1)C#初步
- Android平台下使用HttpUrlConnection
- 基于十六进制传输的字符串校验算法
- linux 动态库的创建与使用
- 初学Android,短信管理器之发送短信(六十五)