Dav*_*lla 5 python application-development glade
我正在使用 Glade 编写一个 PyGI 应用程序,但我遇到了一个问题,即我有一个带有 Gtk.Entry 的 Gtk.ComboBoxText,但由于某种原因我无法使条目可编辑。即加载 UI 时,无法在其中输入文本。
我已经查看了所有条目的属性以及组合框文本父项的属性,但我找不到任何明显我遗漏的东西。奇怪的是,如果我只用代码创建它(即没有 Glade.ui文件),这似乎工作,然后条目是可编辑的。
代码:
#!/usr/bin/env python
from gi.repository import Gtk
class Combo:
def __init__(self):
builder = Gtk.Builder()
builder.add_from_file('combo.ui')
window = builder.get_object('window1')
window.connect('destroy', lambda w: Gtk.main_quit())
window.show_all()
Combo()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)
格莱德文件:
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<child>
<object class="GtkComboBoxText" id="comboboxtext1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="has_entry">True</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<child internal-child="entry">
<object class="GtkEntry" id="comboboxtext-entry">
<property name="can_focus">False</property>
</object>
</child>
</object>
</child>
</object>
</interface>
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env python
from gi.repository import Gtk
class Combo:
def __init__(self):
window = Gtk.Window()
window.set_default_size(200, 200)
combo = Gtk.ComboBoxText.new_with_entry()
combo.set_hexpand(True)
window.connect("destroy", lambda w: Gtk.main_quit())
window.add(combo)
window.show_all()
Combo()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)
关于如何在 Glade 代码中使文本条目可编辑的任何指示?
| 归档时间: |
|
| 查看次数: |
2287 次 |
| 最近记录: |