如何在Gtk.FileChooser中启用Gtk.SpinButton?

时间:2015-10-13 18:24:13

标签: python gtk

在我的应用程序中,我想为图像创建一个保存机制。 为此,我使用Gtk.FileChooserDialog选择新文件的位置。它工作正常,但我也希望能够选择图像的大小(宽度和高度)。

我使用Gtk.Spinbutton并将其添加到对话框的content_area,然后我强制显示它。 小部件显示正常,但我无法像普通Gtk.Spinbutton那样进行交互:我无法通过滚动或点击增量/减量按钮来更改值。

我仍然可以通过输入条目来更改值。

显示问题的代码:

from gi.repository import Gtk

class Window(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)

        self.connect("destroy", self.on_destroy)

        self.set_icon_name("applications-development")
        self.show_all()

        dialog = Gtk.FileChooserDialog(
            transient_for = self,
            buttons = (
                Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
                Gtk.STOCK_SAVE, Gtk.ResponseType.OK
            )
        )

        spinbutton = Gtk.SpinButton()
        spinbutton.set_range(0, 10)
        spinbutton.set_value(5)
        spinbutton.show()

        dialog.get_content_area().pack_start(spinbutton, True, False, 0)

        dialog.run()
        dialog.hide()

    def on_destroy(self, *args):
        Gtk.main_quit()

Window()
Gtk.main()

在python版本2.7.63.4.3中都会发生此错误。

1 个答案:

答案 0 :(得分:0)

未指定两个按钮的步骤。所以你可以这样做:

spinbutton = Gtk.SpinButton()
spinbutton.set_range(0, 10)
spinbutton.set_increments(1, -1)
spinbutton.set_value(5)
spinbutton.show()

或:

spinbutton = Gtk.SpinButton.new_with_range(0, 10, 1)
spinbutton.set_value(5)
spinbutton.show()