我有一个按特定顺序排列的植物列表,应该由索引来保存和表示。但在QComboBox中,植物应按字母顺序显示。按字母顺序排列QComboBox项目,无论索引如何
为此我尝试这样做:
self.plant = QComboBox(self)
self.plant.insertItem(4, "A")
self.plant.insertItem(1, "B")
self.plant.insertItem(3, "C")
self.plant.insertItem(0, "D")
self.plant.insertItem(5, "E")
self.plant.insertItem(2, "F")
得到的组合框但是被责令像DAFBCE
看起来像我的做法是不工作...
EDIT(进一步的解释问题): 植物在数据库中按历史顺序列出(植物D是最古老的,然后最近添加了B,F,C,A - E)。该脚本需要知道选择了哪种植物 - 我想用索引和关联数组来完成此操作。 为了简化植物选择(其中有六个以上),应在下拉列表中按字母顺序列出。
如果我想添加一个名为钙新厂,我会编辑这样的脚本:
self.plant = QComboBox(self)
self.plant.insertItem(4, "A")
self.plant.insertItem(1, "B")
self.plant.insertItem(3, "C")
self.plant.insertItem(6, "Ca")
self.plant.insertItem(0, "D")
self.plant.insertItem(5, "E")
self.plant.insertItem(2, "F")
我希望这clearifies我的问题的含义是:它应该可以很容易地将新的在不改变所有其他指标的情况下,按字母顺序排列右侧位置。
在接下来的步骤中正确的任务应根据植物的选择执行:
options = {0 : D,
1 : B,
2 : F,
3 : C,
4 : A,
5 : E,
6 : Ca,
}
def D():
#do task for plant D
def B():
#do task for plant D
...
“我有一个按照特定顺序排列的植物列表,应该用索引来表示,而在QComboBox中,植物应该按照字母顺序显示。”因此,无论是两个订单重合还是您的要求都毫无意义。您无法同时显示符合两个不同订单的商品。如果这不是你的意思,那么你必须付出一些努力来解释你的意思。 – Bakuriu