我想构建一个函数,在触发它的按钮的坐标中显示x小部件,但我不知道如何知道按下了哪个按钮。这是代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(371, 165)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(26, 63, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(111, 63, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(196, 64, 75, 23))
self.pushButton_3.setObjectName("pushButton_3")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 371, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "Button 1"))
self.pushButton_2.setText(_translate("MainWindow", "Button 2"))
self.pushButton_3.setText(_translate("MainWindow", "Button 3"))
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.functionButton)
self.pushButton_2.clicked.connect(self.functionButton)
self.pushButton_3.clicked.connect(self.functionButton)
def functionButton(self):
print("Function button")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = MainWindow()
ui.show()
sys.exit(app.exec_())
该函数暂时不起任何作用,但如何获取该函数中按下的按钮的坐标
假设函数总是由单击的按钮调用,您可以使用^{} 获取发送信号的对象,并将小部件的左上角(空QPoint)映射到父对象
Qt不直接支持它。但是你可以通过lambdas来完成它
这将调用函数
some_function
,并传入参数self.push_button
Here's a nice little tutorial on it with a full example.
相关问题 更多 >
编程相关推荐