📅  最后修改于: 2023-12-03 14:45:51.260000             🧑  作者: Mango
本文将介绍如何使用 PyQt5 创建一个简单的界面,当鼠标悬停在 CheckBox 上时,将皮肤设置为 CheckBox 的状态。
首先,我们通过以下代码创建一个简单的窗口:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 - Mouse Hover Skin Change'
self.left = 200
self.top = 200
self.width = 300
self.height = 200
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
现在,我们需要添加一个 CheckBox 到窗口中,并设置鼠标事件来改变皮肤。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtGui import QIcon
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 - Mouse Hover Skin Change'
self.left = 200
self.top = 200
self.width = 300
self.height = 200
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
# 创建一个 CheckBox
checkbox = QCheckBox('Change Skin on Hover', self)
checkbox.move(20, 20)
checkbox.resize(250, 30)
checkbox.setStyleSheet('QCheckBox::indicator:hover { border: 2px solid green; }')
checkbox.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
现在,我们已经成功添加了一个 CheckBox,并在鼠标悬停时改变了 CheckBox 的皮肤。如果你将鼠标悬停在 CheckBox 上,你会看到边框变成了绿色。
首先,我们需要将 QCheckBox 添加到窗口中。
checkbox = QCheckBox('Change Skin on Hover', self)
checkbox.move(20, 20)
checkbox.resize(250, 30)
这里,我们创建了一个名字为 'Change Skin on Hover' 的 CheckBox 并将其添加到了窗口中。我们同时设置了它的位置和大小。
checkbox.setStyleSheet('QCheckBox::indicator:hover { border: 2px solid green; }')
接下来,我们设置了一个样式表,以在鼠标悬停时改变 CheckBox 的皮肤。
'QCheckBox::indicator:hover'
表示鼠标悬停在 CheckBox 的选项框上时,要应用的样式。我们在这里设置了一个边框,边框的宽度为 2 像素,颜色为绿色。
在本文中,我们学习了如何使用 PyQt5 创建一个简单的窗口,并添加一个 CheckBox 到窗口中。我们还学习了如何使用样式表来改变 CheckBox 的皮肤,以响应鼠标悬停事件。