我是Qt(PyQt)中的新手,我试图制作一个应用程序,其功能将从菜单栏/系统托盘执行。一个很好的例子是在这里展示:菜单栏/系统托盘应用程序与Qt
我无法找到我怎么能做到这一点的好资源。可以有人建议。
谢谢。
我是Qt(PyQt)中的新手,我试图制作一个应用程序,其功能将从菜单栏/系统托盘执行。一个很好的例子是在这里展示:菜单栏/系统托盘应用程序与Qt
我无法找到我怎么能做到这一点的好资源。可以有人建议。
谢谢。
我认为你至少在寻找与QMenu
和QMainWindow
一起工作的菜单部分。
在这里你可以找到一个C++例子:
和这里PyQt4的例子:
这里是为您提供方便的联代码:
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()
至于QS ystemTrayIcon部分,你可以这样写:
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()
我经历了一段时间的链接,尝试过,但我的问题是,它会像dropbox那样正确停靠,而不显示主窗口。我的大部分任务将是后台进程。所以我只需要快捷方式,当机器启动时,它显示在那里,用户可以使用菜单执行不同的任务。没有主窗口。更像跳转列表或其他东西。我无法找到更好的单词,即所谓的单词。 –
不知道你在说什么。 :)你正在展示一个应用程序(至少对我来说),这是做这件事的方式。 Qt本身并没有全球性的捷径,什么都没有。他们甚至可能是危险的,所以我不确定这是一个非常好的主意。 – lpapp
我想我必须阅读QMenu和酒吧。这个问题需要我接近:http://stackoverflow.com/questions/893984/pyqt-show-menu-in-a-system-tray-application?rq=1 –
还没有。我开始通过qt设计师学习和完成大部分工作。寻找资源,它是否提供此功能?我会很高兴。 –