![](/img/trans.png)
[英]How do I code, in Processing, a fixed number of lines that are semi-randomly spaced apart and still fit into a fixed-size image?
[英]How do I automatically resize text to fit a fixed-size PyGTK label?
我有一個固定大小的gtk.Label
。 我想自動調整文本大小,使其適合Label。 使用不固定寬度的字體是否有一種優雅的方法?
my_label = gtk.Label()
# Short text segment
my_label.set_text( "Short text segment." )
# Long text segment
### Determine required text size here. ###
my_label.set_text( "This is a really long text segment that I would like to resize."
我沒有時間測試這個,但是這些方面的東西應該做你想要的:
size = 12000 # thousandths of a point
temp_label = gtk.Label(my_label.get_text())
while temp_label.get_width() > my_label.get_width():
size -= 100
temp_label.set_attributes(pango.Attrlist().insert(pango.AttrSize(size))
my_label = temp_label
這假設您直接強制my_label的寬度。 如果my_label從其他東西(如父容器)獲取寬度,則將my_label.get_width()替換為您想要的最大寬度。
實際上,這只是將字體大小逐漸減少1/10點,直到文本最終適合。 隨意調整大小 - = 100到你喜歡的任何增量(越小越慢,但它將更細粒度)。
讓我知道,如果不是這樣,我可以稍后改進它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.