带有Qt的菜单栏/系统任务栏应用 [英] Menubar/ System tray app with Qt
本文介绍了带有Qt的菜单栏/系统任务栏应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是Qt(PyQt)的新手,我正在尝试制作一个其功能将从菜单栏/系统托盘执行的应用程序.一个完美的例子在这里显示:
I am new in Qt (PyQt) and I am trying to make an app whose functions will be executed from menubars/system trays. A perfect example is show here:
我找不到有关如何执行此操作的好资源.有人可以建议吗.
I cannot find a good resource on how I can do this. Can someone advice.
谢谢.
推荐答案
我认为您正在寻找至少在菜单部分使用QMenu
和QMainWindow
的方法.
I think you are looking for working with QMenu
and QMainWindow
for the menu part, at least.
在这里您可以找到一个C ++示例:
Here you can find a C++ example:
,这里是一个PyQt4示例:
and here a PyQt4 example:
为方便起见,以下是内联代码:
Here is the code inline for your convenience:
import sys
from PyQt4 import QtGui
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(QtGui.qApp.quit)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Menubar')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
对于QSystemTrayIcon部分,您可以编写如下内容:
As for the QSystemTrayIcon part, you could write something like this:
def main():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
trayIcon = QtGui.QSystemTrayIcon(QtGui.QIcon("Bomb.xpm"), w)
menu = QtGui.QMenu(parent)
exitAction = menu.addAction("Foo")
trayIcon.setContextMenu(menu)
trayIcon.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
这篇关于带有Qt的菜单栏/系统任务栏应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文