Как отобразить окно с данными, когда кнопка наведена в PyQt5?

Как можно использовать PyQt5 для создания программы, которая будет отслеживать количество нажатий клавиш на клавиатуре?
  • 1 июля 2024 г. 13:02
Ответы на вопрос 1
Для отображения окна с данными при наведении кнопки в 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 для отображения данных при наведении кнопки и отслеживания количества нажатий клавиш на клавиатуре.
Похожие вопросы