我在Qt中有一个使用QWizard和QWizardPage类制作的项目。有两种创建窗口小部件的方法:标签:
一种是转到* .ui文件并搜索该元素,然后将其放在所需的位置(可视方式)。然后,您可以使用ui->nameOfLabel
在代码上访问它。
另一个是转到您的代码并像QLabel codedLabel;
一样创建它
实际上,我正在使用第二种方法(对于我来说,创建,显示和使用起来更容易),但是我的问题是:有什么方法可以在* .ui文件中看到我的标签codedLabel?
我想将其移动到屏幕上的某个空间,在这种情况下,通过视觉方式(但要在代码中而不是在ui中创建标签)对我来说要容易得多。
非常感谢。
最佳答案
在运行时从源代码创建的小部件,并以子级形式添加到小部件时,当您编辑将添加到小部件的.ui文件时,在Qt Designer中将无法看到它们。
但是,可能还有一种选择(阅读您要实现的目标:根据上下文显示是否存在某些子窗口小部件):
在Qt Designer中从.ui创建窗口小部件,并在运行时不需要时以编程方式将其隐藏(QWidget::hide()
)或什至将其删除(QLayout::removeWidget()
)。
如果您真正想看到它的真正原因是因为您想“将它移动到屏幕上的某个空间,在这种情况下,对我来说,通过视觉方式来实现它要容易得多”。然后,我建议您仅在Qt Designer中创建一个空的QWidget
(或QLayout
)(以图形方式:易于放置在所需位置),然后(以编程方式)将QLabel
添加到其中(而不是将其添加到主要的顶层小部件):然后,它会放在您从Qt Designer工具确定的位置。
您不需要任何复杂的代码即可在特定位置以编程方式显示您的QLabel,只需选择合适的父级使其在正确的位置显示即可!
关于c++ - Qt:如何使用通过* .ui文件中的代码创建的窗口小部件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34048012/