Qt:如何将类连接到自定义 Qt 设计器小部件

Posted

技术标签:

【中文标题】Qt:如何将类连接到自定义 Qt 设计器小部件【英文标题】:Qt: How to connect class to custom Qt Designer Widget 【发布时间】:2011-10-16 17:23:29 【问题描述】:

也许我的想法完全错了……

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

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

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

假设我在小部件中只有一个标签和一个按钮。在运行时,如何更改此标签的文本?我不知道如何将设计师的东西与我的实际课程联系起来,也找不到任何关于如何做到这一点的文档。我错过了什么吗?

谢谢!

【问题讨论】:

【参考方案1】:

一些事情:

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

根据您的自定义小部件的实现方式,您将能够使用以下两种方法之一来引用这些变量:

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

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

【讨论】:

以上是关于Qt:如何将类连接到自定义 Qt 设计器小部件的主要内容,如果未能解决你的问题,请参考以下文章

如何让 qt 设计器自定义 QOpenGLWidget 小部件背景透明?

Qt 颜色选择器小部件?

在 Qt 设计器中创建要提升的自定义小部件

如何在 qt 设计器中将功能连接到 qt 小部件? - Python

如何在 Qt-Designer 中使用自定义小部件

无法在 Qt 设计器(macos)中显示自定义 PyQt5 小部件插件