gpt4 book ai didi

python - GTK+ : Resize widget with mouse

转载 作者:行者123 更新时间:2023-12-04 13:48:39 26 4
gpt4 key购买 nike

我希望侧边栏的用户决定侧边栏将使用多大的屏幕尺寸。您知道,就像许多程序一样:您转到小部件的边框,指针变成箭头,您可以调整该小部件的大小。

这在 Gtk 中可能吗?现在侧边栏是在只有一个按钮和一个 ScrolledWindow 的 Box 上实现的。

如有必要,我可以复制和粘贴代码,但我认为它没有多大帮助,这个问题已经足够普遍了。

最佳答案

您可以使用 Gtk.Paned调整侧边栏的大小。这是一个使用它的示例程序:

import gi

gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

class App(Gtk.Window):
"""The window."""

def __init__(self):
super().__init__()
self.connect("delete-event", Gtk.main_quit)

# The paned window
self.paned = Gtk.Paned()
self.add(self.paned)

# Widets to put in the paned window
self.label = Gtk.Label(label="Sidebar")
self.paned.add1(self.label)

self.button = Gtk.Button.new_with_label("Something else")
self.paned.add2(self.button)

self.show_all()

App()
Gtk.main()
请注意,您只能将 2 个小部件添加到 Gtk.Paned (因此 add1()add2() )。此外,左 Pane 在启动时会自动缩小到其子 Pane 的宽度。

如果您想更多地控制小部件的大小调整方式,可以使用 pack1()pack2()而不是 add1()add2() . pack()函数有两个可选参数: resizeshrink . resize控制 Pane 在其父小部件展开时是否调整大小以保持其比例,并且是 False默认情况下。所以如果你设置 self.paned.pack1(self.label, resize=True) , 并展开窗口,左 Pane 将展开以保持相同的宽高比。设置 resizeFalse将使 Pane 保持最小宽度(其子项的宽度),即使是在 Paned已调整大小。 shrink参数控制用户是否可以将 Pane 调整为小于其子级的大小,并且是 True默认情况下。设置为 True 时,用户可以将 Pane 缩小到无法看到的程度,即使 Pane 的子级比它大。当 shrink设置为 False ,用户只能将 Pane 缩小到其子级的大小,而不能更小。

关于python - GTK+ : Resize widget with mouse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36865974/

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