繁体   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