gpt4 book ai didi

python - 在 Glade 中创建可修改的 GtkScale 对象

转载 作者:行者123 更新时间:2023-12-01 03:49:54 25 4
gpt4 key购买 nike

我正在尝试使用 gtkme (1.3.5) library 开发一个简单的 GTK 应用程序我在使用 GtkScale 时遇到问题Glade (3.20.0-1) 中的对象。我创建了其中之一,它在 .glade 中定义。文件默认为:

<object class="GtkScale">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="round_digits">1</property>
</object>

然而,它在 Glade 和我的应用程序中的显示方式使其无法使用,即使在弄乱了所有可用设置之后也是如此:

Not working GTK Scales object

我希望在 pavucontrol 中看到类似音量条的内容:

Pavucontrol scales object

在搞乱了 this thread 的代码之后我了解到将对象更改为 <widget class="GtkHScale" id="hscale1">或添加<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>不会改变任何东西。

最佳答案

要获得完全工作的Scale,您需要定义两个元素:Gtk.Adjustment(执行数学工作并定义限制)和 Gtk.Scale 显示 Scale 上的元素。如果没有调整比例将显示为图像中的样子。

因此,在 Glade 中,您需要定义这两个元素。除了实际小部件树中的元素之外,Adjustment 将显示为不可见元素(见下文)。 Scale 最初将按照您所看到的方式显示,并且必须连接到 Adjustment 才能实际显示某些内容。 AdjustmentScale 位于 Glade 中的不同“小部件部分”,这可能并不明显:

enter image description here

它将出现在小部件树中,如下所示:enter image description here

比例的属性中,您可以选择要分配给它的调整。当然,您也可以在运行时执行此操作。 “手动”创建工作 Scale 的代码如下(即没有 Glade,但直接在 Python 代码中):

    adj = Gtk.Adjustment(100.0, 0.0, 150.0, 2.0, 10.0, 10.0)
scale = Gtk.Scale()
scale.set_orientation(Gtk.Orientation.HORIZONTAL)
scale.set_adjustment(adj)

您可以在 Glade 中定义 Adjustment(或稍后添加),Scale 小部件也是如此(尽管它更符合逻辑)无论如何,在 Glade 中做到这一点。

添加引用:

关于python - 在 Glade 中创建可修改的 GtkScale 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38427503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com