我剛剛更新到Fedora 22,並得到它與侏儒3.16。 我正在運行我的一個小應用程序,並收到了棄用警告。 Alignment對象的xscale屬性將消失。但是,有一個問題,我不能在沒有它的情況下展開按鈕的子項。如何展開按鈕內的孩子?
我創造了這個簡單的測試代碼:
#!/usr/bin/env python3
import sys
from gi.repository import Gtk
class Application(Gtk.Application):
def __init__(self):
super().__init__()
self.connect('activate', self.on_activate)
self.connect('startup', self.on_startup)
def on_startup(self, app):
self.window = Gtk.ApplicationWindow(application=app)
self.window.set_position(Gtk.WindowPosition.MOUSE)
self.window.set_default_size(600, 200)
button = Gtk.Button(label='test')
image = Gtk.Image.new_from_file('noimage.png')
button.set_always_show_image(True)
button.set_image(image)
# I can't expand without this property bellow
button.get_child().set_property('xscale', 1.0)
self.window.add(button)
def on_activate(self, app):
self.window.show_all()
if __name__ == '__main__':
main_app = Application()
exit_status = main_app.run(sys.argv)
sys.exit(exit_status)
你應該可以看到一個小寬的窗口,一個按鈕在裏面,覆蓋所有窗口的可用空間。在按鈕內部,您應該在左側看到一個無效的圖像圖標,並在右側看到一個文本標籤。
我使用的XScale屬性中分離的圖像從標籤,這擴大了按鈕內部的對準對象的大小,並給出用於標籤和圖像更多的空間來擴展開。我想知道沒有它的方法來達到同樣的結果。
我用GTK檢查器(按Ctrl + Shift + d,而應用程序正在運行),並想盡理智,少理智,財產在該窗口中幾乎所有的對象,但沒有成功。我嘗試了我可靠的搜索引擎,但無法找到任何具有此類特定問題的人。
謝謝。我剛剛創建了一個沒有任何參數的Button對象,我認爲它默認會爲它添加一個空標籤,但是nop。我甚至不需要從按鈕中移除孩子。剛剛創建了一個漂亮的水平框,像你所建議的那樣,將它添加到按鈕中,並將其他小部件打包在框中。它的工作就像一個魅力。^_ ^ – xor