Uah*_*med 4 python pyqt hover pyqt4
我想要悬停.我看了一个例子然后编写了一个脚本,它将在我制作程序时使用.我面临一个问题,只有当你将鼠标放在按钮的左上角时才会发生悬停.我希望它会发生在所有按钮上,如果我移动光标按钮然后它应该改变.
这是我的代码:
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("background-color:#45b545;")
def leaveEvent(self,event):
button.setStyleSheet("background-color:yellow;")
print("Leave")
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
button = QtGui.QToolButton(widget)
button.setMouseTracking(True)
buttonss = HoverButton(button)
button.setIconSize(QtCore.QSize(200,200))
widget.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
这就是你要找的东西
from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import pyqtSignal
import os,sys
class Main(QtGui.QWidget):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
layout = QtGui.QVBoxLayout(self) # layout of main widget
button = HoverButton(self)
button.setIconSize(QtCore.QSize(200,200))
layout.addWidget(button) # set your button to the widgets layout
# this will size the button nicely
class HoverButton(QtGui.QToolButton):
def __init__(self, parent=None):
super(HoverButton, self).__init__(parent)
self.setMouseTracking(True)
def enterEvent(self,event):
print("Enter")
self.setStyleSheet("background-color:#45b545;")
def leaveEvent(self,event):
self.setStyleSheet("background-color:yellow;")
print("Leave")
app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
在您的代码中,按钮中有一个按钮,嵌套按钮未分配给QLayout窗口小部件.虽然,我不确定你为什么要在按钮内添加一个按钮.我从使用GUI中学到的一件事是,如果你模块化你的代码就会容易得多.现在,您可以使用此自定义按钮并将其应用于其他位置.
| 归档时间: |
|
| 查看次数: |
5628 次 |
| 最近记录: |