问:我如何使用在* .ui文件中使用代码创建的小部件

时间:2015-12-02 16:34:46

标签: c++ qt qlabel

我在Qt中有一个QWizard和QWizardPage类的项目。有两种方法可以创建一个小部件,即:标签:

  1. 一个是转到* .ui文件并搜索元素并将其放在您想要的位置(可视方式)。然后,您可以使用ui->nameOfLabel
  2. 在代码中访问它
  3. 另一个是转到您的代码并像QLabel codedLabel;
  4. 一样创建它

    实际上我正在使用第二种方式(它对我来说更容易创建,显示和使用)但我的问题是:有什么方法可以让我看到我的标签编码标签* .ui文件?

    我想将它移动到屏幕中的一个空间,在这种情况下,我可以通过视觉方式(但在代码而不是ui中创建标签)更容易)。

    非常感谢你。

1 个答案:

答案 0 :(得分:1)

当您编辑将添加到其中的小部件的.ui文件时,在源代码中创建的小部件以及作为子级添加到小部件中的小部件无法在Qt Designer中看到。

然而,可能有另一种选择(阅读你想要实现的目标:根据上下文设置一些子窗口小部件):

在Qt Designer中从.ui创建窗口小部件并隐藏它(QWidget::hide()),甚至在运行时不需要以编程方式删除它(QLayout::removeWidget()

如果你想要看到它的真正原因是因为你想“将它移动到屏幕上的空间,那么,通过它可以更容易地实现它视觉方式“。然后我建议您只需在Qt Designer中创建一个空的QWidget(或QLayout)(图形化:易于放置到您想要的位置),然后(以编程方式)将QLabel添加到其中(而不是将其添加到主顶级窗口小部件):然后,它将进入您从Qt Designer工具确定的位置。

您不需要任何复杂的代码来以编程方式在特定位置显示您的QLabel,只需选择正确的父级即可将其显示在正确的位置!