2016-03-31 15 views
1

Metin boyutunun QLabel genişliğini aşıp aşmadığını belirlemenin en iyi yolu nedir? Ve buna göre, metin boyutunu değiştirin?Dinamik metin boyutu QLabel

Sözcük kaydırma seçeneği true olarak ayarlanmış bir QLabel'im var, ancak metin çok uzunsa, soldan ve sağdan kırpılıyor.

+1

etiket Widget bir düzen tarafından yönetilen mı? Eğer öyleyse, 'sizeConstraint'ı en üstteki düzende (' label-> widnow() -> layout() ') ayarlamalısınız, böylece pencere her zaman içindekileri tutacak kadar büyük olacaktır. –

cevap

2

Bu yaklaşım denemek isteyebilirsiniz:

QLabel label; 
QRect r = label.fontMetrics().boundingRect("My text")); 
int textWidth = r.width(); 
+0

muhtemelen sadece devre dışı bırakılmış kelime sarma için çalışacaktır. – Hcorg

+0

@Hcorg, Metnin genişliği QLabel'ın özelliklerine bağlı değildir. – vahancho

+0

evet, biliyorum. Demek istediğim - kelime sarma kullanarak kırılmış, çok sayıda metin satırı tutabilecek etiket için işe yaramaz. Label.width() öğesine göre tek satırlı etiket fontMetrics() .... width() öğesi yardımcı olmalıdır. – Hcorg