我想跟踪用户在我的自定义应用中修改公司的预测。 我使用qt designer和PyQt4创建它,并且我使用QSpinBox作为数量(控制值范围的简单方法和仅将数字屏蔽为数字)。 我遇到的问题是当我想要获得触发我的功能的QSpinBox时。 此时它正在使用valueChanged.connect触发,但可能正在使用其他任何东西。 我可以在spinbox中获取int而不是spinbox的名字。 先谢谢你的帮助!
解
QSpinBox元素
self.Item = QtGui.QSpinBox(self.centralwidget)
self.Item.setObjectName(_fromUtf8("ItemName"))
触发
self.Item.valueChanged.connect(self.foo)
它调用的功能
def foo(self,obj):
sender = MainWindow.sender()
print sender.objectName()
在这种情况下,“MainWindow”是我的QtCore.QObject
答案 0 :(得分:0)
AS标记为C ++。我在C ++和pyQt4中都在回答。我从未在pyQt4工作过。所以请原谅我的语法。
在“valueChanged
”广告位中,使用QObject::sender()
获取触发它的旋转框。
然后调用“objectName()”。
QObject* obj = sender();
QString objName = obj->objectName();
可能在python:
sender = QtCore.QObject.sender()
str = sender.objectName()