不带条目的GTK3组合框移动到带条目的GTK3组合框之后。为什么?

2024-10-01 11:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我一直在为工作开发这个应用程序,它基本上允许用户选择他们的部门、建筑和楼层。这将显示所选位置的楼层平面,用户可以在该楼层平面上选择不同的打印机。它还会打开另一个组合框,用户可以在其中按名称选择打印机。我已经按照我希望它们显示的顺序创建了组合框:部门、大楼、楼层、打印机。不过,它们并不是这样显示的。这就是它们的显示方式:ComboBox Order。我猜这是因为地板组合框是Gtk.ComboBoxText对象,而不是Gtk组合框像其他人一样。有办法解决这个问题吗?你知道吗

    # 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()

Tags: textselffalsegtkcolumnstartpackdepartment
1条回答
网友
1楼 · 发布于 2024-10-01 11:22:55

假设self.combo_rowboxGtk.Box,我建议将用于self.printer_combopack_start改为pack_end。这意味着小部件被添加到Box的右侧而不是左侧。你知道吗

或者,您也可以尝试使用Gtk.Grid作为ComboBox的容器,它的灵活性较差,但有助于获得更可预测的结果。你知道吗

相关问题 更多 >