2024-04-24 23:07:18 发布
网友
我需要知道如何使一个突出显示的标签(或小框)出现当鼠标在小部件像当你使用浏览器和把鼠标放在(重新加载/返回/等…)按钮一个小框会出现,并告诉你这个按钮做什么 我希望任何小部件都是这样,而不仅仅是工具栏上的小部件
eventFilter
import sys from PyQt5.QtWidgets import (QLabel, QApplication, QWidget, QVBoxLayout) from PyQt5.QtCore import (QSize, QEvent) class Widget(QWidget): def __init__(self, parent=None): try: super(QWidget, self).__init__(parent) self.setFixedSize(QSize(200, 200)) self.setStyleSheet("background-color: gray;") self.layout = QVBoxLayout() self.label = QLabel() self.label.setFixedSize(QSize(100, 20)) self.label.setStyleSheet("background-color: #000000; color: yellow;") self.label.setText("highlighted label") self.label.setVisible(False) self.layout.addWidget(self.label) self.setLayout(self.layout) self.installEventFilter(self) except Exception as e: print(e) def eventFilter(self, _object, event): try: print(f"{_object} {event}") if event.type() == QEvent.Enter: self.label.setVisible(True) elif event.type() == QEvent.Leave: self.label.setVisible(False) return False except Exception as e: print(e) if __name__ == "__main__": app = QApplication(sys.argv) w = Widget() w.show() sys.exit(app.exec_())
正如@ekhumoro的评论所说 setToolTip就是解决方案
eventFilter
正如@ekhumoro的评论所说 setToolTip就是解决方案
相关问题 更多 >
编程相关推荐