GTK未在网格内移动项目

2024-06-02 04:36:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用GTK编写的超级基本白噪声应用程序,我正在使用网格对我的按钮等进行排序。我遇到的问题是,当我改变grid_attach内部的位置时,相对位置不会改变,除非我只改变了一个项目。例如,在下面的代码中,如果我将行位置从5更改为10,则该按钮仍然显示在音量按钮的正下方,即使该按钮的位置没有更改。但如果我将其中一个按钮保留在5,并将另外两个按钮移动到10,则其他两个按钮将显示得更低,而仍然位于5的按钮将保持在相同的位置。另外,当试图改变所有事物的位置使其更集中时,没有任何变化

        # Attaching everything to the grid, sorted from top to bottom
        # (button added, column, row, column span, row span)
        grid.attach(combo,           0, 2, 6, 1)
        grid.attach(self.vol_button, 0, 3, 6, 1)
        grid.attach(play_button,     0, 5, 2, 2)
        grid.attach(pause_button,    2, 5, 2, 2)
        grid.attach(stop_button,     4, 5, 2, 1)

如果您想要剩下的代码,可以在here找到源代码,但是它是非常标准的GTK.Grid代码,所以我认为它不是超级相关的

我得到了一半的答案,set_margin_top()这给了我按钮上方的空间,set_margin_start()这给了我两侧的空间,但我仍然无法移动按钮的位置以使它们居中或任何东西