GTK3组合框没有进入GTK3组合框后进入。为什么?

时间:2016-05-13 16:43:40

标签: python combobox gtk gtk3 display

所以,我一直在开发这个应用程序,基本上允许用户选择他们的部门,建筑物和楼层。这将显示所选位置的平面图,他们可以在该平面图上选择不同的打印机。它还带来了另一个组合框,他们可以通过名称选择打印机。我按照我希望它们显示的方式创建了组合框:部门,建筑,地板,打印机。但它们并没有这样显示。这是他们显示的方式:ComboBox Order。我猜这是因为Floor组合框是一个Gtk.ComboBoxText对象,而不是像其他人一样只有Gtk.ComboBox。有没有办法解决这个问题或解决它?

    # Department Combo
    self.department_combo = Gtk.ComboBox.new_with_model_and_entry(self.logic.get_department_store())
    self.department_combo.set_entry_text_column(0)
    self.combo_rowbox.pack_start(self.department_combo, False, False, 0)
    self.department_combo.show()
    # Building Combo
    self.building_combo = Gtk.ComboBox.new_with_entry()
    self.building_combo.set_entry_text_column(0)
    self.combo_rowbox.pack_start(self.building_combo, False, False, 0)
    self.building_combo.hide()
    # Floor Combo
    self.floor_combo = Gtk.ComboBoxText()
    self.floor_combo.set_entry_text_column(0)
    self.combo_rowbox.pack_start(self.floor_combo, False, False, 0)
    self.floor_combo.hide()
    # Printer Combo
    self.printer_combo = Gtk.ComboBox.new_with_entry()
    self.printer_combo.set_entry_text_column(0)
    self.combo_rowbox.pack_start(self.printer_combo, True, True, 0)
    self.printer_combo.hide()

1 个答案:

答案 0 :(得分:1)

假设self.combo_rowboxGtk.Box,我建议将用于pack_start的{​​{1}}更改为self.printer_combo。这意味着窗口小部件添加在pack_end的右侧而不是左侧。

或者您也可以尝试使用Box作为Gtk.Grid的容器,但它不太灵活,但有助于获得更可预测的结果。