pyqt5 选择下拉菜单并同时修改另一个文本框的值
可以使用
QComboBox和QLineEdit两个控件实现此功能。当下拉菜单的选项改变时,触发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_())
运行后,可以看到一个下拉菜单和一个文本框。当选择下拉菜单的选项时,文本框的值会随之改变。


评论