Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改QMenu项的背景色_Python_Qt_Pyqt - Fatal编程技术网

Python 更改QMenu项的背景色

Python 更改QMenu项的背景色,python,qt,pyqt,Python,Qt,Pyqt,到处找,找不到一个我可以应用的解决方案 简单案例场景。我有一个子菜单,有两个条目 menu = QMenu("MainMenu", self ) submenu = QMenu("Submenu", menu ) menu.addMenu( submenu ) submenu.addAction( QIcon(""), "entry 1", myFuncs.func1 ) submenu.addAction( QIcon(""), "entry 2", myFuncs.func2 )

到处找,找不到一个我可以应用的解决方案

简单案例场景。我有一个子菜单,有两个条目

menu = QMenu("MainMenu",  self )
submenu = QMenu("Submenu",  menu )
menu.addMenu( submenu )

submenu.addAction(  QIcon(""), "entry 1", myFuncs.func1 )
submenu.addAction(  QIcon(""), "entry 2", myFuncs.func2 )
目前,我只是添加了一行,至少可以更改所有项目的背景颜色:

submenu.setStyleSheet("QWidget { background-color: %s }" % col_brightGray.name())
但是。 我想将每个条目的背景色更改为不同的色调。 我肯定有办法,但我试了好几次后,还是没能成功


提前感谢您

QAction不支持setStylesheet,因为它不是QWidget,请检查此

QAction不支持setStylesheet,因为它不是QWidget,请确实检查此

。非常感谢。只是想知道其他的选择。我不是在为动作设置颜色。但是在菜单项上。我把那份文件通读了几遍。虽然答案可能是使用QMenu::item,但不幸的是,我不知道如何将其转换为上面的代码。。或者python,已经尝试了几次。
self.mainMenu.setStyleSheet(“QMenu::item{background color:lightblue;}”)
应该为item执行该操作,对吗?但不管怎样,它将像like一样应用于菜单中的所有项目。谢谢。这给了我一个尝试更多东西的机会。很明显,我在某个地方漏掉了重点。尽管如此,为了它,我还是尝试了以下方法:
submenu.setStyleSheet(“QMenu::item[text='entry 1']{background color:blue;}”)
和以下方法:
actionEntry1=submenu.addAction(QIcon(“”,“entry 1”,myFuncs.func1)子菜单。setStyleSheet(“QMenu::item#actionEntry1{background color:blue;}”)
没有错误。但是没有颜色可以改变。非常感谢。只是想知道其他的选择。我不是在为动作设置颜色。但是在菜单项上。我把那份文件通读了几遍。虽然答案可能是使用QMenu::item,但不幸的是,我不知道如何将其转换为上面的代码。。或者python,已经尝试了几次。
self.mainMenu.setStyleSheet(“QMenu::item{background color:lightblue;}”)
应该为item执行该操作,对吗?但不管怎样,它将像like一样应用于菜单中的所有项目。谢谢。这给了我一个尝试更多东西的机会。很明显,我在某个地方漏掉了重点。尽管如此,为了它,我还是尝试了以下方法:
submenu.setStyleSheet(“QMenu::item[text='entry 1']{background color:blue;}”)
和以下方法:
actionEntry1=submenu.addAction(QIcon(“”,“entry 1”,myFuncs.func1)子菜单。setStyleSheet(“QMenu::item#actionEntry1{background color:blue;}”)
没有错误。但是也没有颜色