2010-04-26 14 views

cevap

26

Buna inanmıyorum. Yine de, programlı olarak eklemek oldukça basit. statusBar()->showMessage(tr("Message Here")); yoksa gerçekten durum çubuğunda bir QLabel gerekirse alternatif olarak, çizgisinde bir şeyler yapabileceğini: Eğer sadece bir mesaj göstermek isteyen ediyorsanız

şunu kullanabilirsiniz

QLabel *label = new QLabel("Message"); 
statusBar()->addWidget(label); 

label, statusBar() numaralı bir çocuk olur ve sol alttan ilk boş noktada görünür (addPermanentWidget(label) onu sağ alttaki ilk boş yere ekler). QLabel label sınıfları üstbilgisine (veya başka bir varlığa) yerleştirirseniz, değişkene daha sonra doğrudan erişebilirsiniz (başlangıçtaki QLabel türünün ilk satırdan kaldırılması).

+0

Kodu dönüştürülebilir bir "Message" kullanmak için nasıl uyarlanır? – Sigur

+0

@ Şigur Bunun gibi bir nedeniniz, başka bir QLabel ile uğraşmaktan önemli ölçüde farklı olabilir mi? – Kitsune

+0

Üzgünüm. QLabel ile 'tr' kullanmaya çalışıyorum ama başarı yok. QLabel’ın nasıl aktarılabilir bir metinle kullanıldığını bilmiyorum. – Sigur

5

UI dosyasını manuel olarak düzenleyebilmeniz bile mümkün değildir.

+5

QtDesigner –

+0

bir kusur olduğunu düşünüyorum Bir kusur değil ama eksik bir özellik. Ne yazık ki QtDesigner, çok seviyeli bir yapıya sahip olan UI'lere yönelik değildir (bu, QStatusbar'a bir QLabel ekleme vb. Içerir). – rbaleksandar

5

Qt Designer ile mümkün değil. Qt Designer etiket a oluşturarak ve daha sonra Sesimin yapıcısı bunu çözmek MainWindows bu satırı ekleyin: Benim uygulamada

Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label"); 

, mainwindows sınıf adı MainWindowsForm olduğunu durum çubuğu statusBar adlandırılır ve etikettir informationLabel. O zaman:

Ui::MainWindowsForm::statusBar->addWidget(informationLabel);