Python pyqt5实现精美的样式的菜单
时间: 2023-06-29 13:20:14 浏览: 160
可以使用 PyQt5 中的 QSS(Qt Style Sheets)实现精美的菜单样式。QSS 类似于 CSS,可以定义各种控件的样式,包括菜单。以下是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QAction
class Window(QMainWindow):
def __init__(self):
super().__init__()
menubar = QMenuBar(self)
self.setMenuBar(menubar)
file_menu = menubar.addMenu('文件')
new_action = QAction('新建', self)
file_menu.addAction(new_action)
edit_menu = menubar.addMenu('编辑')
cut_action = QAction('剪切', self)
edit_menu.addAction(cut_action)
# 设置样式
menubar.setStyleSheet("""
QMenuBar {
background-color: #333;
color: white;
}
QMenuBar::item {
background-color: #333;
padding: 4px 10px;
}
QMenuBar::item:selected {
background-color: #555;
}
QMenu {
background-color: #555;
border: 1px solid black;
}
QMenu::item {
background-color: #555;
padding: 4px 20px;
}
QMenu::item:selected {
background-color: #777;
}
QAction {
color: white;
}
QAction:selected {
background-color: #777;
}
""")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们在菜单栏和菜单上设置了背景色、前景色和间距,并使用了一些简单的边框。我们还设置了 QAction 的颜色和选中时的背景色。
当我们运行这个程序时,会显示一个带有精美样式的菜单栏和菜单。你可以根据自己的喜好自定义样式。
阅读全文