我是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設計師學習和完成大部分工作。尋找資源,它是否提供此功能?我會很高興。 –