pyqt5 选择下拉菜单并同时修改另一个文本框的值

可以使用QComboBoxQLineEdit两个控件实现此功能。当下拉菜单的选项改变时,触发currentIndexChanged信号,从而修改文本框的值。 示例代码如下:
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QLineEdit, QVBoxLayout
import sys
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        # 创建下拉菜单
        self.cb = QComboBox(self)
        self.cb.addItem('Option 1')
        self.cb.addItem('Option 2')
        self.cb.addItem('Option 3')
        self.cb.currentIndexChanged.connect(self.onIndexChanged)
        
        # 创建文本框
        self.le = QLineEdit(self)
        self.le.setText('Option 1')
        
        # 布局
        vbox = QVBoxLayout()
        vbox.addWidget(self.cb)
        vbox.addWidget(self.le)
        self.setLayout(vbox)
        
        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('QComboBox')
        self.show()
        
        
    def onIndexChanged(self):
        
        # 修改文本框的值
        self.le.setText(self.cb.currentText())
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

​​​​​​​运行后,可以看到一个下拉菜单和一个文本框。当选择下拉菜单的选项时,文本框的值会随之改变。
 

评论