0
これは私がここで達成しようとしているものはかなり簡単です。PyGTKウィンドウを2つのエントリから変更する
左のテキストボックスに320を置くとします。つまり、ウィンドウの幅は320pxになります。同じテキストボックスを除いて、同じものが高さに適用されます。
しかし、私はこのエラーを取得するデバッグします。
Traceback (most recent call last):
File "./app.py", line 37, in change_size
self.win.set_size_request(width,height)
TypeError: an integer is required
ここにコードがあります。
#!/usr/bin/env python
import gtk
class app:
def __init__(self):
self.win = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.win.set_title("Change Dimensions")
self.win.set_default_size(235, 60)
self.win.connect("destroy", gtk.main_quit)
vbox = gtk.VBox(spacing=4)
hbox = gtk.HBox(spacing=4)
self.entry = gtk.Entry()
self.entry2 = gtk.Entry()
hbox.pack_start(self.entry)
hbox.pack_start(self.entry2)
hbox2 = gtk.HBox(spacing=4)
ok = gtk.Button("OK")
ok.connect("clicked", self.change_size)
hbox2.pack_start(ok)
exit = gtk.Button("Exit")
exit.connect("clicked", gtk.main_quit)
hbox2.pack_start(exit)
vbox.pack_start(hbox)
vbox.pack_start(hbox2)
self.win.add(vbox)
self.win.show_all()
def change_size(self, w):
width = self.entry.get_text()
height = self.entry2.get_text()
self.win.set_size_request(width,height)
app()
gtk.main()
なぜエントリの代わりにスピンボタンを使用しないのですか? SpinButtonは整数ではなく浮動小数点数を返すので、int型(この場合のように)にする必要がある場合を除いて、数値のインタフェースが優れています。 – saeedgnu