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 如何更改QPushButton文本和背景色_Python_Qt_Pyqt_Qtstylesheets - Fatal编程技术网

Python 如何更改QPushButton文本和背景色

Python 如何更改QPushButton文本和背景色,python,qt,pyqt,qtstylesheets,Python,Qt,Pyqt,Qtstylesheets,我正在使用以下代码将QMenu连接到QPushButton。单击按钮时,将显示包含多个子菜单项的下拉菜单 button=QPushButton() button.setText("Press Me") font=QtGui.QFont() button.setFont(font) button.setSizePolicy(ToolButtonSizePolicy) button.setPopupMode(QtGui.QToolButton.InstantPopup) menu=QtGui.Q

我正在使用以下代码将
QMenu
连接到
QPushButton
。单击按钮时,将显示包含多个子菜单项的下拉菜单

button=QPushButton()
button.setText("Press Me")

font=QtGui.QFont()
button.setFont(font)
button.setSizePolicy(ToolButtonSizePolicy)

button.setPopupMode(QtGui.QToolButton.InstantPopup)
menu=QtGui.QMenu()
button.setMenu(menu)

menuItem1=menu.addAction('Menu Item1')
menuItem2=menu.addAction('Menu Item2') 
现在,根据条件,我想通过给它一个文本和背景色来定制
QPushButton
显示。以下代码行(应更改背景色)对连接到QMenu的
QPushButton
没有影响

button.setStyleSheet('QPushButton {background-color: #A3C1DA}')

我想知道如何更改
QPushButton
的背景色以及按钮的文本颜色

除了与您的代码示例不一致之外,设置
QPushButton的背景色和文本色
可以很好地用于:

setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
示例(使用PySide):

结果:


适用于仍希望按照说明更改按钮颜色的用户

button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
如果不能这样做,只需将上述指令修改为

button.setStyleSheet('QPushButton {background-color: #A3C1DA; border:  none}')

它会改变按钮的颜色,所以诀窍是去掉边框

我会在Trilarion的回答中添加一条注释,但没有足够的重复

我能够使用他的建议,而不必通过任何方式消除边界

self.show() 
self.button.setStyleSheet('background-color: red;')
在做了一个.show()之后
根据我的申请。不知道为什么是下班后,而不是下班前。如果有人能解释一下,那就太好了

代码中的一些不一致之处:ToolButtonSizePolicy没有定义,只有QToolButtons有setPopupMode,而不是QPushButtons。对于样式表,它是QToolButton还是QPushButton并不重要。你的样式表应该是有效的。
self.show() 
self.button.setStyleSheet('background-color: red;')