from PySide6.QtCore import Qtfrom PySide6.QtWidgets import QApplication, QWidget, QComboBox, QGridLayoutclass Win(QWidget): def __init__(self): super().__init__() self.setWindowTitle("下拉列表") self.resize(350, 200) # 创建网格布局 self.main_layout = QGridLayout() # 设置网格布局给主窗口 self.setLayout(self.main_layout) self.main_layout.setHorizontalSpacing(20) # 设置网格各列宽度比例 self.main_layout.setColumnStretch(0, 2) self.main_layout.setColumnStretch(1, 1) self.main_layout.setColumnStretch(2, 2) self.ui_01() def ui_01(self): # 创建下拉列表数据列表 self.data = {"河南": "郑州", "河北": "石家庄", "湖南": "长沙", "湖北": "武汉", "广西": "南宁", "广东": "广州"} # 创建一个提示标签和输入框 self.label_1 = QLabel("省 会", self) self.label_1.setAlignment(Qt.AlignmentFlag.AlignCenter) self.line = QLineEdit() self.line.setAlignment(Qt.AlignCenter) # 创建一个下拉列表框 self.combo = QComboBox() # 下拉列表连接信号(当前文本改变信号) self.combo.currentIndexChanged.connect(self.change) # 向下拉列表中添加数据 self.combo.addItems(self.data.keys()) # 把上面三个控件添加到主网格布局 self.main_layout.addWidget(self.combo, 0, 0) self.main_layout.addWidget(self.label_1, 0, 1) self.main_layout.addWidget(self.line, 0, 2) # 创建槽函数change def change(self, index): print(index) sheng_hui = list(self.data.values()) self.line.setText(sheng_hui[index])if __name__ == "__main__": import sys app = QApplication(sys.argv) win = Win() win.show() sys.exit(app.exec())