如何在标签 PyQT5 上创建悬停效果
How to create hover over effect on a label PyQT5
我正在努力寻找有关如何在我的标签上创建悬停效果的信息。我一直试图让它首先在一个简单的版本上运行,但我很难找到任何关于如何制作悬停效果的教程或信息。
from PyQt5.QtWidgets import QApplication, QMainWindow, QFormLayout, QLabel
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class window(object):
def __init__(self):
MainWindow.setObjectName("MainWindow")
MainWindow.setGeometry(0,0,700, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("Hover Test Label")
self.label.setGeometry(QtCore.QRect(100, 200, 169, 30))
self.label.setStyleSheet("border-style:solid; color: black; border-width: 1px;")
self.label.setObjectName("labeltest")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = window()
MainWindow.show()
sys.exit(app.exec_())
如何创建 Label 背景颜色改变的悬停效果。
您可以在标签的样式-sheet中指定pseudo-states来区分普通标签和鼠标悬停在其上的标签。在您的示例中,您可以执行类似
class window(object):
def __init__(self):
....
self.label.setStyleSheet("""QLabel{border-style:solid; color: black; border-width: 1px;}
QLabel:hover{background-color:red}""")
....
Qt的官方文档也有一个页面比较详细style sheet examples
我正在努力寻找有关如何在我的标签上创建悬停效果的信息。我一直试图让它首先在一个简单的版本上运行,但我很难找到任何关于如何制作悬停效果的教程或信息。
from PyQt5.QtWidgets import QApplication, QMainWindow, QFormLayout, QLabel
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class window(object):
def __init__(self):
MainWindow.setObjectName("MainWindow")
MainWindow.setGeometry(0,0,700, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("Hover Test Label")
self.label.setGeometry(QtCore.QRect(100, 200, 169, 30))
self.label.setStyleSheet("border-style:solid; color: black; border-width: 1px;")
self.label.setObjectName("labeltest")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = window()
MainWindow.show()
sys.exit(app.exec_())
如何创建 Label 背景颜色改变的悬停效果。
您可以在标签的样式-sheet中指定pseudo-states来区分普通标签和鼠标悬停在其上的标签。在您的示例中,您可以执行类似
class window(object):
def __init__(self):
....
self.label.setStyleSheet("""QLabel{border-style:solid; color: black; border-width: 1px;}
QLabel:hover{background-color:red}""")
....
Qt的官方文档也有一个页面比较详细style sheet examples