Для отображения окна с данными при наведении кнопки в PyQt5, можно использовать событие `hoverEnterEvent`. Пример кода:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle("Hover Button Example")
btn = QPushButton("Hover over me", self)
btn.setGeometry(50, 50, 200, 100)
btn.setStyleSheet("background-color: #009900; color: white;")
btn.hoverEnterEvent = self.showData
def showData(self, event):
print("Data is displayed!")
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
Чтобы отслеживать количество нажатий клавиш на клавиатуре, можно использовать событие `keyPressEvent`. Пример кода:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
class KeyPressWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.key_counter = 0
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle("Key Press Counter")
def keyPressEvent(self, event):
self.key_counter += 1
print(f"Key pressed! Total key presses: {self.key_counter}")
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = KeyPressWidget()
widget.show()
sys.exit(app.exec_())
```
Эти примеры показывают как можно использовать PyQt5 для отображения данных при наведении кнопки и отслеживания количества нажатий клавиш на клавиатуре.