簡體   English   中英

單擊按鈕后如何使UI對象僅出現在對話框中

[英]How to get UI objects to only appear in dialog AFTER button is clicked

  1. 我有一個對話框,最初有幾個按鈕,我們稱它們為“寫入”,“查看”,“確定”和“取消”。
  2. 創建對話框時應該只有三個按鈕,僅此而已。
  3. 取消“寫入”按鈕后,應該在按鈕上方的窗口中創建一個QLineEdit對象,用戶可以在其中輸入新字符串,然后單擊“確定”,它將被添加到外部QStringList
  4. 單擊“視圖”后, LineEdit應該消失(如果顯示了),然后出現一個QListView ,而不是查看該列表中的所有內容。
  5. 問題是,我知道如何使用hide()來使對話框中已經存在的對象不出現。
  6. 但是我很難弄清楚如何使當前不在桌子上的對象出現。 我是使用Qt的新手,所以我只是偶然地忽略了它(實際上我希望是這樣),這很容易。

    有人可以提供建議嗎? 謝謝!

只需正常創建項目,然后設置:

ui->control->setVisible(false);

在可能已在構造函數中創建UI之后(在ui->setupUi(this); )(如果使用Qt Creator生成的代碼)。

當您需要它們時:

ui->control->setVisible(true);

文檔為此:

http://qt-project.org/doc/qt-4.8/qwidget.html#visible-prop

使用QListView還應該有一個QListModel提供數據,如果您只有QStrings ,則QStrings一個QStringListModel供您使用

要添加一行,您可以執行以下操作:

int rows = model->rowCount();
model->addRow(rows,1);
QModelIndex index = model->index(rows,0);
model->setData(index, string);

暫無
暫無

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

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