gpt4 book ai didi

python - 为组合框使用新型信号和插槽?

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:46 25 4
gpt4 key购买 nike

我有两行使用旧的 SIGNAL 和 SLOT 样式..

combobox.emit(SIGNAL("activated(int)"), combobox.currentIndex())
combobox.emit(SIGNAL("activated(const QString &)"), combobox.currentText())

我想知道新样式会是什么样子。我是 python 的新手,对信号和槽没有太多经验。是否有涵盖此内容的真正好的资源?文档并没有真正帮助我理解发生了什么。

最佳答案

解决方案是指示正在发射的信号的参数类型:

combo.activated[type].connect(someSlot)

例子:

class Widget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setLayout(QVBoxLayout())
combo = QComboBox(self)
self.layout().addWidget(combo)
combo.addItems(["item1", "item2", "item3"])
combo.activated[int].connect(self.onActivatedIndex)
combo.activated[str].connect(self.onActivatedText)

@pyqtSlot(int)
def onActivatedIndex(self, index):
print(index)

@pyqtSlot(str)
def onActivatedText(self, text):
print(text)


if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())

关于python - 为组合框使用新型信号和插槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46855815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com