2011-08-23 22 views
10

Uygulamamdaki bazı ekran emlakları geri almaya çalışıyorum. Temel bir QLineEdit olan ve alan kaplayan bir arama çubuğum var. Menü çubuğumda, bu arama kutusuna sığacak kadar yerim var, ancak LineEdit'i menubara nasıl alacağımı anlayamıyorum.Menubar'a nasıl bir QLineEdit ekleyebilirim

Birisi bana bir menü çubuğuna eklendiğinde yardımcı olabilir mi?

Qt 4.7 kullanıyorum.

İşte gerçekleştirmeye çalıştığım şeyin bir görüntüsü. Oldukça basit bir resim, ancak menubarın sağ yarısını bir arama kutusu olarak kullanmak istiyorum.

enter image description here

cevap

16

kullanın QWidgetAction. QWidgetAction, özel widget'ları araç çubukları gibi eylem temelli kapsayıcılara eklemek içindir. Sen

geçersiz QMenuBar :: setCornerWidget (QWidget * Widget, Qt :: Köşe köşe = Qt :: TopRightCorner kullanabilirsiniz

QWidgetAction *widgetAction = new QWidgetAction(this); 
widgetAction->setDefaultWidget(new QProgressBar(this)); 
menubar.addAction(widgetAction); 
+0

@Andy Bu, Qt Designer ile yapılabilir mi biliyor musunuz? – Dewsworld

5

: Burada

menü çubuğuna bir progressbar eklemek için bir örnektir Widget'ınızı menüye eklemek için

.

+1

Wow .. Farklı denemelerden ve hatalardan yarım gün sonra bu basit yöntem benim sorunumu çözdü :-) (Menubarla aynı "satırda" uygulamamın sağ köşesine bir saat eklemem gerekiyor) Teşekkürler! – ClimbingLung

+0

Teşekkürler. Sorunumu zarif bir şekilde çözdü. – rugi

İlgili konular