如何使 UI 对象仅在单击按钮后显示在对话框中
How to get UI objects to only appear in dialog AFTER button is clicked
-
我有一个对话框,最初有几个按钮,我们称它们为写入、查看、确定和取消。
-
它应该做的是在创建时让对话框只有这三个按钮,仅此而已。
-
当 Write 按钮被取消时,它应该在按钮上方的窗口中创建一个
QLineEdit
对象,用户可以在其中输入一个新字符串,然后单击 OK 时,该字符串将被添加到外部QStringList
。 -
单击"视图"时,LineEdit应该消失(如果它已启动),并且QListView会出现以查看该列表中的所有内容。
-
问题是,我知道如何使用
hide()
来使对话框中已有的对象不显示。 -
但是我无法弄清楚如何让当前不在桌子上的对象出现。我是使用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
那么会预先制作一个QStringListModel
供您使用
要添加行,您可以执行以下操作:
int rows = model->rowCount();
model->addRow(rows,1);
QModelIndex index = model->index(rows,0);
model->setData(index, string);
相关文章:
- 表单显示对话框函数错误,并且不执行下面的语句
- 在主窗口之前显示登录对话框并隐藏主窗口按钮
- 如何在主窗口标签的对话框中显示QLineEdit的输入
- 在网格视图中显示数据 - 基于 MFC c++ 对话框的应用程序
- C++无法在对话框 CFormView 中显示 ActiveX 控件,则控件变量为 NULL
- C# - 显示对话框将所有者设置为非托管窗口
- 为什么 QPrintDialog 在 Cinnamon 桌面上不显示本机打印对话框
- QTest未显示对话框
- 当我打开一个新对话框时,如何禁止在Qt编程的Windows任务栏中显示对话框
- 显示对话框后运行功能
- 在QT中关闭程序之前,请显示对话框
- 显示Q对话框时出现QT线程问题
- 在 MFC 中显示对话框的信息
- Windows窗体显示与显示对话框
- 当主窗口在Qt小部件应用程序中首次可见时如何显示对话框
- 在主窗口前显示对话框
- 显示对话框后无法将焦点返回到主窗口
- sdi -通过选定的弹出菜单项显示对话框
- 如何在显示对话框时禁用Qt应用程序中的用户交互
- 如何在选项卡控制页中显示对话框