如何获取修改后的 QSpinBox 的对象名称

How to get the objectName of a modified QSpinBox?

本文关键字:QSpinBox 对象 修改 何获取 获取      更新时间:2023-10-16

我想在我的定制应用程序中跟踪用户修改公司的预测。我使用 qt 设计器和 PyQt4 创建了它,并且我使用 QSpinBox 来获取数量(控制值范围并将字段屏蔽为仅数字的简单方法(。我遇到的问题是当我想获取触发我的函数的 QSpinBox 时。目前,它正在使用valueChanged.connect触发,但可以使用其他任何东西。我可以在旋转框中获取 int,但不能获取旋转框的名称。事先感谢您的帮助!

溶液

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

因为问题标记为C++。我在C++和pyQt4中回答。我从来没有在pyQt4工作过。所以请原谅我的语法。

在"valueChanged">插槽中使用QObject::sender()来获取触发它的旋转盒。

然后调用"对象名称(("。

QObject* obj = sender();
QString objName = obj->objectName();

可能在蟒蛇中:

 sender = QtCore.QObject.sender()
 str = sender.objectName()