pyGTK(2.22-バージョンは非常に重要です)では、以下に詳述するバグが発生しています。これはpyGTKの問題だと思いますが、私は間違っている可能性があり、バグ以外の報告はしたくありません。
基本的に、私はgtk.Entry()
usingからテキストを抽出.get_text()
しています。これにより、ウィジェットにテキストが含まれていても空の文字列が返されます。関連するコードを次に示します(実行可能にするためのNOOP定義を使用)。
import gtk
class Item: pass
def tofile(item): pass
# Described issues begin below
class ItemAddDialog:
"A dialog used when adding a menu item"
def __init__(self):
self.dialog = gtk.Dialog(title="Adding menu item...", buttons=btns)
self.fname, self.name, self.icon, self.exe, self.cats = [gtk.Entry() for i in range(5)]
self.obs = (self.fname, self.name, self.icon, self.exe, self.cats)
self._config()
def _config(self):
_ = self.dialog.vbox
map(lambda x: _.pack_start(x, False, False, 0), self.obs)
map(lambda x: x.show(), self.obs)
map(lambda x: x[1].set_text(x[0]), zip(("Filename", "Name in Menu", "Icon", "Command", "Categories (; Delimited)"), self.obs))
def run(self):
r = self.dialog.run()
self.dialog.destroy()
print _quote(str(r))
if (int(r) == 1): i = Item(self.fname.get_text(), self.name.get_text(), self.icon.get_text(), self.exe.get_text(), self.cats.get_text())
print str(i)
tofile(i)