Python pyqt5设置菜单样式
时间: 2023-06-29 13:21:06 浏览: 379
PyQt5窗口添加菜单栏 工具栏 状态栏示例程序
5星 · 资源好评率100%
您可以通过CSS样式表来设置Qt应用程序中的菜单样式。以下是一个示例,展示如何设置菜单栏和弹出菜单的样式:
```python
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class MenuExample(QMainWindow):
def __init__(self):
super().__init__()
menubar = self.menuBar()
# 创建菜单
fileMenu = menubar.addMenu('文件')
editMenu = menubar.addMenu('编辑')
viewMenu = menubar.addMenu('视图')
# 创建菜单项
newAction = QAction('新建', self)
newAction.setShortcut('Ctrl+N')
fileMenu.addAction(newAction)
saveAction = QAction('保存', self)
saveAction.setShortcut('Ctrl+S')
fileMenu.addAction(saveAction)
exitAction = QAction('退出', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(self.close)
fileMenu.addAction(exitAction)
# 设置菜单样式
menubar.setStyleSheet('''
QMenuBar {
background-color: #3d3d3d;
color: #fff;
font-size: 14px;
}
QMenuBar::item {
spacing: 3px;
padding: 1px 4px;
background-color: transparent;
border-radius: 4px;
}
QMenuBar::item:selected {
background-color: #2d2d2d;
}
QMenu {
background-color: #f0f0f0;
border: 1px solid #555;
margin: 2px;
}
QMenu::item {
padding: 2px 20px 2px 20px;
}
QMenu::item:selected {
background-color: #555;
color: #fff;
}
''')
# 显示窗口
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('菜单示例')
self.show()
if __name__ == '__main__':
app = QApplication([])
example = MenuExample()
app.exec_()
```
在这个例子中,我们使用了QMenuBar、QMenu和QAction来创建菜单栏和菜单项。然后我们使用setStyleSheet()方法来设置菜单的样式。在这个样式表中,我们设置了菜单栏的背景颜色、字体大小和菜单项的间距和边框半径。我们还设置了选中菜单项时的背景颜色和文字颜色。
您可以根据需要修改样式表来满足您的需求。
阅读全文