是否可以動態添加小部件(PushButtons,Labels等)到Qt Designer生成的中央小部件佈局中?如何做呢?如何以編程方式將Qt小部件(QPushButton,QTextEdit,QLabel)添加到Qt Designer佈局中?
謝謝!
是否可以動態添加小部件(PushButtons,Labels等)到Qt Designer生成的中央小部件佈局中?如何做呢?如何以編程方式將Qt小部件(QPushButton,QTextEdit,QLabel)添加到Qt Designer佈局中?
謝謝!
當然,這很容易。您可以查看debug/release目錄下的ui_mainwindow.h。我更喜歡在QtDesigner中爲代碼設置小部件的佈局。這是這樣的:
//set layout programatically
auto layout = new QHBoxLayout(ui->centralWidget());
//or if you have set horizontalLayout in Qt Designer
auto layout = dynamic_cast<QHBoxLayout*>(ui->centralWidget->layout());
layout->addWidget(new QLabel("hello"));
嘿,這兩個似乎不工作,ui-> centralWidget沒有addWidget方法。 此外,第二行,給出了一個錯誤「預計(在dynamic_cast之後」,也一旦獲得佈局,如何向其添加小部件並導致centralWidget刷新? –
現在應該可以正常工作了@AakashThakkar – Zen
很棒!:D –
一個更多的解決方案,將添加到QT設計器中的元素進行佈局,然後做ui-> label-> hide()並使用show()方法在需要時顯示。工作得很好:) –