我基于pyside2 和 qfluentwidgets写了一个python程序,其中包含了一个系统托盘,但是我遇到了一些问题,我的系统托盘的菜单总是显示在最下方,导致无法完整显示下面是效果和代码
import sys
from PySide2 import QtCore
from PySide2.QtGui import QIcon
from PySide2.QtWidgets import QSystemTrayIcon, QApplication, QAction
from qfluentwidgets import SplitFluentWindow, RoundMenu
import resource.app_icon
class MainWindow(SplitFluentWindow):
def __init__(self):
super().__init__()
self.sysTray = QSystemTrayIcon()
self.icon = QIcon(":/icon.ico")
self.sysTray.setIcon(self.icon)
self.trayIconMenu = RoundMenu()
self.trayIconMenu.addAction(QAction("主界面"))
self.trayIconMenu.addSeparator()
self.trayIconMenu.addAction(QAction("设备"))
self.trayIconMenu.addAction(QAction("状态"))
self.trayIconMenu.addAction(QAction("任务"))
self.trayIconMenu.addSeparator()
self.trayIconMenu.addAction(QAction("重启"))
self.trayIconMenu.addAction(QAction("退出"))
self.sysTray.setContextMenu(self.trayIconMenu)
# 创建主窗口
self.sysTray.show()
if __name__ == '__main__':
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) # 设置qt界面大小与原设计界面比例相同
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
希望有大佬能告知我这个位置怎么可以调整
通过设置系统托盘图标的锚点和偏移来间接控制菜单的位置。
改写了一个例子: