如何获取触发 def onCurrentIndexChanged(self, index) 的 QCombobox 的名称:
How do I get the name of the QCombobox which is triggering def onCurrentIndexChanged(self, index):
我的 Ui_MainWindow 中有两个 Qcomboboxes。我如何确定它们中的哪一个触发了 def onCurrentIndexChanged(self, index):???当我打印 self.class.name it returns "Ui_MainWindow"...我想要window???
中 Qcombobox 的名称
def onCurrentIndexChanged(self, index):
print(self.__class__.__name__)
id_ = self.cboDebtor.itemData(index, IdRole)
# or
# id_ = self.model.item(index).data(IdRole)
假设您有一个连接到插槽的方法,您可以在该方法中使用 self.sender()
来检索发送信号的小部件。
因此,如果您想显示发送信号的小部件的名称,请这样做:
def onCurrentIndexChanged(self, index):
print(self.sender().objectName())
根据您的描述,您可能想要执行以下操作:
def onCurrentIndexChanged(self, index):
sender_name = self.sender().objectName()
if sender_name == 'foo': # QComboBox 1's name
self.do_something()
elif sender_name == 'bar': # QComboBox 2's name
self.do_something_else()
# etc
我的 Ui_MainWindow 中有两个 Qcomboboxes。我如何确定它们中的哪一个触发了 def onCurrentIndexChanged(self, index):???当我打印 self.class.name it returns "Ui_MainWindow"...我想要window???
中 Qcombobox 的名称def onCurrentIndexChanged(self, index):
print(self.__class__.__name__)
id_ = self.cboDebtor.itemData(index, IdRole)
# or
# id_ = self.model.item(index).data(IdRole)
假设您有一个连接到插槽的方法,您可以在该方法中使用 self.sender()
来检索发送信号的小部件。
因此,如果您想显示发送信号的小部件的名称,请这样做:
def onCurrentIndexChanged(self, index):
print(self.sender().objectName())
根据您的描述,您可能想要执行以下操作:
def onCurrentIndexChanged(self, index):
sender_name = self.sender().objectName()
if sender_name == 'foo': # QComboBox 1's name
self.do_something()
elif sender_name == 'bar': # QComboBox 2's name
self.do_something_else()
# etc