次のコードを使用して、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を使用):
from PySide import QtGui
app = QtGui.QApplication([])
button = QtGui.QPushButton()
button.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
button.setText('Press Me')
menu = QtGui.QMenu()
menuItem1 = menu.addAction('Menu Item1')
menuItem2 = menu.addAction('Menu Item2')
button.setMenu(menu)
button.show()
app.exec_()
結果:
まだ指示でボタンの色を変更したい人のために
button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
それができない場合は、上記の指示を修正してください
button.setStyleSheet('QPushButton {background-color: #A3C1DA; border: none}')
そして、ボタンの色が変わるので、コツはボーダーを削除することです