问:如何将类连接到自定义Qt Designer小部件

时间:2011-10-16 17:23:30

标签: qt qwidget qt-designer

也许我正在考虑这完全错误......

我在Qt Creator中创建了一个带有Designer文件的新小部件(我选择了Widget模板,它为我的自定义小部件类生成了源文件和头文件,还有一个设计器文件)。

然后我使用Designer设计了小部件。我现在可以创建此小部件的实例,它将显示在我的应用程序中。

但它并不是非常有用,因为我不知道如何在运行时自定义小部件。

假设我在小部件中的所有内容都是标签和按钮。在运行时,如何更改此标签的文本?我无法弄清楚如何将设计师的东西连接到我的实际课程,我找不到任何关于如何做到这一点的文档。我错过了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

一些事情:

  • 在设计器中,您的每个小部件(QPushButton和您的案例中的QLabel)都有一个分配给它的名称。此名称是您可以在C ++中用于引用该窗口小部件并在其上调用函数的变量的名称。

  • 根据您的自定义窗口小部件的实现方式,您可以使用以下两种方法之一引用这些变量:

    • 如果你的类继承自Ui :: MyCustomwidget,那么你的变量只是你班级的成员变量,可以随时访问(myLabel-> setText())

    • 如果您有一个成员变量(通常名为ui,类型为Ui :: MyCustomWidget),那么您可以使用ui对象访问您的小部件(ui-> myLabel-> setText())