gpt4 book ai didi

python - PyQt 中的悬停问题

转载 作者:太空狗 更新时间:2023-10-30 01:55:33 25 4
gpt4 key购买 nike

我想悬停。我看到了一个示例,然后编写了一个脚本,该脚本将在我制作程序时使用。我面临一个问题,只有当您将鼠标放在按钮的左上角时才会出现悬停。我希望它会发生在所有按钮上,如果我将光标移动到按钮上,那么它应该会改变。

这是我的代码:

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_())

最佳答案

这就是你要找的吗

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_())

在您的代码中,您在一个按钮中有一个按钮,而嵌套按钮未分配给 QLayout 小部件。虽然,我不确定你为什么要在按钮内添加一个按钮。我从使用 GUI 中学到的一件事是,如果您将代码模块化,它会容易得多。现在您可以使用此自定义按钮并将其应用到其他地方。

关于python - PyQt 中的悬停问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com