当前位置: 首页 > 面试题库 >

如何在PyQt中向组合框添加项目

澹台啸
2023-03-14
问题内容

我需要一些帮助,将一些项目添加到中QComboBox。因此,我有两个组合框,其中一个根据所选项目填充另一个。

我的问题是,additem用于新项目,它可以工作,但是如果我为组合框选择另一个选项,它将添加新项目,但先前的项目不见了-新项目下面有空白项目。

我以为每次我从第一个组合框选择一个新选项来清除第二个组合框的内容。所以我clear()在第二个上使用了-但没有用。

我就是这样想的:

self.comboBox_2.clear()
for index,i in enumerate(list1):
  self.comboBox_2.addItem(_fromUtf8(""))
  self.comboBox_2.setItemText(index+2, QApplication.translate("Dialog", i, None, QApplication.UnicodeUTF8))

上面是第一次combobox更改时执行的功能的一部分。


问题答案:

假设list1有一个字符串列表,则可以使用addItems方法一次将它们全部添加:

self.comboBox_2.clear()
self.comboBox_2.addItems(list1)

请注意,您QApplication.translate的示例中使用的方式可能不正确。如果您希望将其中的字符串list1翻译成其他语言,则应在
创建 列表并使用 字符串常量时执行此操作

例如:

list1 = [
    self.tr('First Item'),
    self.tr('Second Item'),
    self.tr('Third Item'),
    ]

还要注意,该_fromUtf8函数仅在代码中使用包含非ASCII字符的字符串文字时才真正有用-否则,它基本上是无操作的。

编辑

例如,如果您的列表包含像素映射和文本的元组,那么您可以使用以下内容:

self.comboBox_2.clear()
for pixmap, text in list1:
    self.comboBox_2.addItem(QIcon(pixmap), text)


 类似资料:
  • 我们试图使用以下源代码在组合框中显示树状结构https://fiddle.sencha.com/#fiddle/g50 我们可以在组合框中查看树结构,但是当我们选择任何节点时,它不会显示在组合框中。

  • 问题内容: 为了将GUI窗口小部件的数量保持在最低水平,我需要找到一种方法让用户选择下拉菜单项,这些菜单项可用于过滤listWidget项中显示的内容。假设listWidget列出了5种不同的项目类别:“猫A”,“猫B”,“猫C”,“猫D”,“猫E”。我可以为每个商品类别实现单选或复选框。但是5个单选按钮或复选框会占用大量GUI空间。带有可检查项的组合框似乎是正确的选择。有任何想法吗? 问题答案:

  • 我试图通过FXML文件将项目添加到组合框中,但出现了这个错误。 这是我的FXML 主要 当我通过scene builder打开它时,会出现这个错误 我已经仔细检查过了,但代码似乎没问题。当我删除试图添加到FXML的值时,错误消失了,但我的组合框变为空。它说String不是有效的类型。我怎样才能解决这个问题?为什么它是无效的?我在这里检查了类似的问题,但是错误是由于没有导入FXCollections

  • 问题内容: 我的PyQT QTextEdit遇到一个相当奇怪的问题。 当我从QLineEdit输入一个字符串时,它会添加它,但是说我输入另一个,第一个字符串就会消失,我认为那是因为我没有追加文本。 知道我该怎么做吗? 以下是相关代码: 和重要的 编辑 我发现我需要使用 问题答案: 该方法将替换所有当前文本,因此您只需要使用该方法即可。(请注意,这两种方法都会自动添加尾随换行符)。

  • 我有一些object.id-s,我试图将其作为元组存储在用户会话中。当我添加第一个时,它可以工作,但是tuple看起来像,但是当我尝试使用添加新的tuple

  • 如何禁用swing组合框中的项目?我将这些项添加为代码,因为在我的项目中,我们无法从设计中手动添加它们。我想禁用项目,例如如果从swing Month组合框中选择了April,则项目31也应禁用,并显示警告消息,因为四月有30天,而不是31天。 {