You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PyQt6加载UI文件后修改QComboBox的选项列表

加载UI后修改PyQt6 QComboBox的选项列表

你可以按照以下步骤动态修改emulatorListComboBox的选项:

  1. 定位QComboBox控件:和获取testlabel的方式一致,使用findChild方法找到目标控件。
  2. 清空原有选项(可选):如果需要完全替换原有选项,调用clear()方法清空;如果只是追加选项,跳过此步骤。
  3. 添加新选项:使用addItems()批量添加选项列表,或用addItem()逐个添加。

修改后的完整代码示例:

from PyQt6.QtWidgets import QMainWindow, QApplication, QLabel, QComboBox
from PyQt6 import uic

class UI(QMainWindow):
    def __init__(self):
        super().__init__()

        self.threadpool = QThreadPool()

        # 加载UI文件
        uic.loadUi("menu.ui", self)

        # 修改标签文本
        self.testlabel = self.findChild(QLabel, "testlabel")
        self.testlabel.setText("CHANGE TEXT")
        
        # 处理QComboBox选项
        # 1. 获取目标控件
        self.emulator_combo = self.findChild(QComboBox, "emulatorListComboBox")
        # 2. 清空原有选项(按需选择)
        self.emulator_combo.clear()
        # 3. 添加每日更新的选项(示例列表,实际可从接口/本地文件等获取)
        daily_emulator_list = ["新模拟器1", "新模拟器2", "新模拟器3", "新模拟器4"]
        # 批量添加选项
        self.emulator_combo.addItems(daily_emulator_list)
        
        # 可选:设置默认选中项
        # self.emulator_combo.setCurrentIndex(0)  # 根据索引选中
        # self.emulator_combo.setCurrentText("新模拟器2")  # 根据文本选中

app = QApplication([])
window = UI()
window.show()
app.exec()

补充说明

  • 如果不需要清空原有选项,直接调用addItems()即可在现有选项后追加新内容。
  • 实际项目中,daily_emulator_list可以从API接口、本地配置文件或数据库中动态获取,实现每日自动更新选项的需求。

内容的提问来源于stack exchange,提问作者OK Tech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:12:08