【发布时间】:2019-10-26 10:19:01
【问题描述】:
使用signal and slots 方法获取QcomboBox 中选定项目的索引和文本是众所周知的。下面的代码就是一个例子。但是我如何告诉我的代码在启动时接收和发送第一个显示项,Activated, currentIndexChanged, Highlighted 之类的方法只能通过下拉列表QCombobox 工作。
输出:
1
item2
2
item3
示例代码:
from PyQt5 import QtCore, QtWidgets, QtGui
class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.setLayout(QtWidgets.QVBoxLayout())
combo = QtWidgets.QComboBox(self)
self.layout().addWidget(combo)
combo.addItems(["item1", "item2", "item3"])
combo.setMinimumWidth(150)
combo.activated[int].connect(self.onActivatedIndex)
combo.activated[str].connect(self.onActivatedText)
@QtCore.pyqtSlot(int)
def onActivatedIndex(self, index):
print(index)
@QtCore.pyqtSlot(str)
def onActivatedText(self, text):
print(text)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python pyqt pyqt5 signals-slots qcombobox