动态小部件创建

时间:2021-05-28 09:24:40

标签: c++ qt

我正在尝试创建一个简单的待办事项应用程序。一个问题是我不知道如何让我的程序动态创建新的“LineEdits”来写下任务。这是我已经制作的图片:

待办事项应用图片:
todo application image

您在图片中看到的是一系列硬编码的 lineEdit,这不是创建应用程序的好方法。

所以我的问题是:

您建议动态允许用户在此应用中添加新行 (lineEdits) 的最佳方式是什么?

应用布局:

该应用程序由一个主要的“QScrollArea”组成(允许用户在需要时向下和向上滚动)。 “QScrollArea”内部是“QVBoxLayout”(基本上是垂直布局)。 “QVBoxLayout”里面有很多“QHBoxLayout”(横向布局),每一个都包含一个“lineEdit”和一个“checkbox”。

我仍然没有向我的应用程序添加任何代码,因为我想知道如何首先解决这个问题。我仅使用“Qt 设计器”创建了您在图像中看到的内容。

1 个答案:

答案 0 :(得分:0)

要将新行(QLineEdit 实例)动态添加到列表中,这里有一个草图(查看 Qt 文档中的详细信息):

  • 在某处放置一个按钮,“添加一行”
  • 附加到 clicked 信号
  • 在附加到信号的插槽中,创建一个新的 QLineEdit,父滚动区域,并将其添加到 vbox

如果您要询问用户界面设计原则(例如“标记为‘添加一行’的按钮是个好主意吗?”这可能不适合 C++ 人员提供建议)。

相关问题