私は、メニューのアイテムを異なる色に設定する方法を見つけようとしています。PyQT QAction/QMenu色
ので、例えば、ウェブガイドは、バージョン1.0は透明で、メールサポートは赤、青です。
私はこれを行う方法をしばらく見て、QlabelとQWidgetActionを試しましたが、これはテキストと同じように見えますが、アクションと同じようには見えませんでした。
私はこれが価値があると感じていますが、私はそれをすべて同じに投げ捨てると思っていました。
これは、私はスタイルシートと設定のアクションを持っているかである:
self.setStyleSheet("""
QMenuBar {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
border: 1px solid ;
}
QMenuBar::item {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
}
QMenuBar::item::selected {
background-color: rgb(30,30,30);
}
QMenu {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
border: 1px solid ;
}
QMenu::item::selected {
background-color: rgb(30,30,30);
}
""")
self.XactionHelpFAQ = QtGui.QAction('Web Guide', self)
self.XactionHelpEmail = QtGui.QAction('Email Support', self)
self.XactionHelpVersion = QtGui.QAction('Version 1.0', self)
self.Xmenubar = QtGui.QMenuBar(self)
self.Xmenubar.setObjectName('menubar')
self.Xmenubar.setGeometry(QtCore.QRect(0, 0, 684, 21))
self.Xmenubar.setSizeIncrement(QtCore.QSize(0, 0))
self.Xmenubar.setDefaultUp(False)
self.XmenuHelp = QtGui.QMenu('Help', self.Xmenubar)
self.XmenuHelp.addAction(self.XactionHelpFAQ)
self.XmenuHelp.addAction(self.XactionHelpEmail)
self.XmenuHelp.addAction(self.XactionHelpVersion)
に適用されるスタイルシートを上書きしますQtのオブジェクトにいくつかの特定のスタイルシートを適用する必要がありますstylesheetをMenuBarとMenuを含むウィジェットに追加しますが、 'self.Xmenubar'と' self.XmenuHelp'オブジェクトには追加しません。 'self.Xmenubar.self.setStyleSheet(...)'と 'self.XmenuHelp.setStyleSheet(...)'を試してみてください。コードを改善するには、スタイルシート全体を 'QApplication'オブジェクトに設定するだけで、スタイルシートがすべてのQtオブジェクトに適用されることを確認できます。 – SyedElec
よろしくお願いします。今度は2番目のウィンドウに同じメニューバーのスタイルシートがありません:) ありがとうございます。 –
はい、私は確認します:) – SyedElec