[英]PyQt4 QPalette not working
{btn = QtGui.QPushButton('Button', self)
palettes = btn.palette()
palettes.setColor(btn.backgroundRole(),QtCore.Qt.green)
btn.setPalette(palettes)
btn.setAutoFillBackground(True)}
使用btn.backgroundRole()
僅為按鈕提供綠色邊框。
使用btn.foregroundRole()
按鈕的文本顏色
使用btn.windowRole()
給我錯誤
TypeError:arguments與任何重載調用都不匹配:
QPalette.setColor(QPalette.ColorGroup,QPalette.ColorRole,QColor):參數1具有意外類型'str'
QPalette.setColor(QPalette.ColorRole,QColor):參數1有意外類型'str'
嘗試用QtGui.QPalette.Background
代替btn.windowRole()
但什么也沒做
還試過QtGui.QPalette.Base
但什么也沒做
此外, QtGui.QPalette.Window
什么也QtGui.QPalette.Window
做
如何使用調色板更改按鈕顏色?
我無法糾正這個問題。 我使用的是Windows 7,PyQt4和Python 3.4
您可以在Qt文檔中閱讀有關QPalette
:
警告:某些樣式不會將調色板用於所有繪圖,例如,如果它們使用本機主題引擎。 Windows XP,Windows Vista和Mac OS X樣式都是如此。
Windows 7樣式也不使用按鈕的調色板顏色。 您應該使用樣式表為按鈕指定顏色。 如果使用除Windows 7樣式之外的其他主題,則可以使用QPalette.Button
角色更改按鈕顏色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.