簡體   English   中英

Qt - 在面板中動態添加QLineEdit

[英]Qt - dynamically add QLineEdit in a panel

這是用Qt / C ++編程的問題。 我有一個包含兩個項目的組合框。 如果當前選擇索引為0,則組合框下方的布局中不應顯示QLineEdit。 如果為1,則應出現QLineEdit。 如果索引再次為0,它應該再次消失。 值得注意的是,布局中的其他元素不應受更改的影響。 用戶已在其他QineEdit中輸入的值應保持不變。

是否可以動態修改小部件? 你是怎么進行的?

親切的問候。

所有QWidget對象都有一個名為hide()的函數。

您可以將信號附加到組合框的currentIndexChanged信號,並在該函數中實現您想到的任何邏輯並調用QLineEdit的方法隱藏。

這種方法的唯一問題是Qt Widget在隱藏時不占用屏幕上的任何空間,這可能導致布局更改(取決於您如何編程布局,其他一些小部件可以移動一點, 例如)。 為了防止你可以讓另一個Widget出現在QLineEdit的位置(可能調用show()函數,並將'占位符'放在LineEdit所在的同一個容器上),只占用它的空間並保留它,或者你可以使用QStackedWidget在那里添加兩個Widgets並更改其索引。

我建議您閱讀以下示例,它對動態更改內容有一些有用的見解: Qt擴展示例

此外,如果有疑問,請查看其他示例,它們確實有很好的文檔記錄,涵蓋了很多關於Qt的重要主題。

祝你的代碼好運:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM