[PyQt4] QPushButton 焦点灯光

1 投票
2 回答
1905 浏览
提问于 2025-04-18 13:10

在我的应用程序里,有一个 QPushButton 按钮。这里有两个这个按钮的截图,一个是没有聚焦的状态,另一个是聚焦的状态。

İmage1 图片1

image2 图片2(当我聚焦它的时候)

你可以看到第二张图片上有一个高亮的效果。当我用 'TAB' 键聚焦这个按钮时,就会看到这个高亮。

我想要去掉这个高亮效果。我正在使用 Python/PyQt4,想知道怎么才能禁用这个聚焦高亮?或者说我能不能禁用它?

2 个回答

1

你可以通过覆盖这个事件来否决它,然后什么都不做。

from PyQt4 import QtGui, QtCore 
from PyQt4.QtCore import pyqtSignal 
import os,sys 

class HoverButton(QtGui.QToolButton): 
    def enterEvent(self,event): 
        print("Enter") 
        #button.setStyleSheet("opacity:.5;") 

    def leaveEvent(self,evt): 
        print "LeaveEvent"
        #button.setStyleSheet("opacity:1;") 


app = QtGui.QApplication(sys.argv) 
button = HoverButton() 
button.show() 
sys.exit(app.exec_()) 
2

如果你想要关闭某些元素的高亮显示,可能你其实是想完全禁用焦点功能:

QWidget.setFocusPolicy(QtCore.Qt.NoFocus)

撰写回答