【发布时间】:2020-03-12 08:18:43
【问题描述】:
我的 PyQt5 QTableWidget 中有一个上下文菜单。
def contextMenuEvent(self, event):
"""Open context menu for selected items."""
selected_items = self.selectedItems()
if selected_items:
menu = QMenu(self)
menu.setStyleSheet("""
QMenu {border: 1px inset grey; background-color: #fff; color: #000; padding: 0;}
QMenu:selected {background-color: #ddf; color: #000;}"""
)
# File submenu
file_menu = QMenu("File")
delete_action = file_menu.addAction("Delete")
menu.addMenu(file_menu)
# Format sub_menu
format_menu = QMenu("Format")
format_split_action = format_menu.addAction("Split address")
format_title_case_action = format_menu.addAction("Title Case")
menu.addMenu(format_menu)
menu.addSeparator()
# Quick links
menu.addAction("Split address")
menu.addAction("Title Case")
action = menu.exec_(self.mapToGlobal(event.pos()))
if action:
if action == format_title_case_action:
self.format_title_case()
elif action == format_split_action:
self.split_address()
elif action == delete_action:
self.remove_selected_rows()
样式表几乎按照我想要的方式格式化菜单,但它不会改变子菜单(文件和格式)的背景颜色,它仍然有灰色背景:
我认为我需要在样式表中为子菜单样式添加另一个条目。有谁知道我需要补充什么?
【问题讨论】:
标签: python-3.x pyqt5 stylesheet qtablewidget