Pyqt5 将鼠标悬停在其上时更改 qpushbutton 样式表

Pyqt5 changing qpushbutton stylesheet when hovering over it

所以我正在使用 pyqt5 制作一个应用程序,我想做的是制作一个自定义样式的 qpushbutton sheet,当您的鼠标悬停在它上面时它会改变颜色。我搜索了一下,发现在 python 中,以下代码可以更改悬停设置:

button.setStyleSheet("QPushButton::hover"
                     "{"
                     "background-color : lightgreen;"
                     "}")

当我测试它时,它起作用了,但随后它删除了我的自定义样式sheet。

button.setStyleSheet("background-color: #2B5DD1; color: #FFFFFF ; border-style: outset; 
padding: 2px ; font: bold 20px ; border-width: 6px ; border-radius: 10px ; border-color: #2752B8;")
                                    

是我的原始代码,只有我的风格 sheet 有效,然后当我尝试将两者组合如下时:

to_meetings.setStyleSheet("background-color: #2B5DD1; color: #FFFFFF ; border-style: outset; padding: 2px ; font: bold 20px ; border-width: 6px ; border-radius: 10px ; border-color: #2752B8;"
                          "QPushButton::hover"
                          "{"
                          "background-color: #112452;"
                          "}")  

它 运行 很好,但没有显示悬停设置,而是只显示了我的自定义样式sheet。关于如何合并自定义样式sheet 以及悬停设置有什么想法吗?

正如您使用 hover 伪状态定义 QPushButton 样式一样,您可以为常规状态定义它。

QPushButton {
    background-color: #2B5DD1;
    color: #FFFFFF;
    border-style: outset;
    padding: 2px;
    font: bold 20px;
    border-width: 6px;
    border-radius: 10px;
    border-color: #2752B8;
}
QPushButton:hover {
    background-color: lightgreen;
}

See customizing QPushButton examples in Qt docs