@fidel
В PyQt5 можно узнать, какая именно кнопка была нажата, используя сигнал clicked
.
Вот пример кода, который показывает, как узнать, какая именно кнопка была нажата:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from PyQt5.QtCore import Qt class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Button Example") button1 = QPushButton("Button 1", self) button1.move(50, 50) button1.clicked.connect(self.buttonClicked) button2 = QPushButton("Button 2", self) button2.move(50, 100) button2.clicked.connect(self.buttonClicked) def buttonClicked(self): button = self.sender() if button.text() == "Button 1": print("Button 1 was clicked") elif button.text() == "Button 2": print("Button 2 was clicked") if __name__ == "__main__": app = QApplication([]) mainWindow = MainWindow() mainWindow.show() app.exec() |
В этом примере создаются две кнопки. При нажатии на кнопку, срабатывает метод buttonClicked
, в котором с помощью self.sender()
можно получить кнопку, на которую было нажато. Затем можно использовать метод text()
для получения текста на кнопке и выполнить определенные действия в зависимости от текста кнопки.