C++ 可单击Qlabel如何使用inside Designer

C++ 可单击Qlabel如何使用inside Designer,c++,qt,C++,Qt,我需要使Qlabel可点击,这基本上是我用来在我的主窗口中显示图像的,通过谷歌搜索,我发现我需要为Qlabel创建一个子类,根据这个链接 我的问题是如何在我的UI设计器中使用这个自定义类,可能吗?或者我必须只通过代码来管理这个UI元素 任何帮助都将不胜感激 谢谢 Haris在Qt Desiger中,您必须创建一个QLabel,然后将其“升级”到ClickableLabel类 为此,右键单击小部件中实例化的QLAbel对象,选择“升级小部件…”,并指定ClickableLabel类名和定义它的头文

我需要使
Qlabel
可点击,这基本上是我用来在我的主窗口中显示图像的,通过谷歌搜索,我发现我需要为
Qlabel
创建一个子类,根据这个链接

我的问题是如何在我的UI设计器中使用这个自定义类,可能吗?或者我必须只通过代码来管理这个UI元素

任何帮助都将不胜感激

谢谢
Haris

在Qt Desiger中,您必须创建一个
QLabel
,然后将其“升级”到
ClickableLabel

为此,右键单击小部件中实例化的QLAbel对象,选择“升级小部件…”,并指定
ClickableLabel
类名和定义它的头文件的路径

请注意,
ClickableLabel
的头文件和源文件都必须是Qt项目的一部分


这应该很有效

在Qt Desiger中,您必须创建一个
QLabel
,然后将其“升级”到
ClickableLabel

为此,右键单击小部件中实例化的QLAbel对象,选择“升级小部件…”,并指定
ClickableLabel
类名和定义它的头文件的路径

请注意,
ClickableLabel
的头文件和源文件都必须是Qt项目的一部分


这应该很有效

使用您提供的链接,我制作了我的
main()
,如下所示:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow *w = new MainWindow;
    ClickableLabel *MyLable = new ClickableLabel("Amol",w);
    MyLable->show();
    w->show();

    return a.exec();
}
重要的一点是,在自定义小部件时,需要将父指针传递给自定义小部件,即此处的主窗口。一旦您自定义了小部件,您需要以编程方式提供它的所有属性。请在项目中为
ClickableLabel
类添加相应的
.h
.cpp

希望这对您有所帮助。

使用您提供的链接,我制作了我的
main()
,如下所示:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow *w = new MainWindow;
    ClickableLabel *MyLable = new ClickableLabel("Amol",w);
    MyLable->show();
    w->show();

    return a.exec();
}
重要的一点是,在自定义小部件时,需要将父指针传递给自定义小部件,即此处的主窗口。一旦您自定义了小部件,您需要以编程方式提供它的所有属性。请在项目中为
ClickableLabel
类添加相应的
.h
.cpp

希望这对您有所帮助。

我想UI设计器指的是QT创建者

您可以通过以下方式将标准QLabel升级为可单击标签:

  • 创建ClickableLabel-class

  • 在QtCreator中创建标准QLabel-widget

  • 在表单编辑器中的新QLabel小部件顶部单击鼠标右键,然后选择“升级到”

  • 在提升的类名字段中输入先前创建的ClickableLabel-class的名称。该对话框还会根据类的名称自动填充头文件字段

  • 按添加按钮

  • 从列表中选择一个新的升级类,然后按“升级”按钮


  • 现在,在步骤2中创建的QLabel小部件实际上是ClickableLabel对象

    我想UI设计器指的是QT创建者

    您可以通过以下方式将标准QLabel升级为可单击标签:

  • 创建ClickableLabel-class

  • 在QtCreator中创建标准QLabel-widget

  • 在表单编辑器中的新QLabel小部件顶部单击鼠标右键,然后选择“升级到”

  • 在提升的类名字段中输入先前创建的ClickableLabel-class的名称。该对话框还会根据类的名称自动填充头文件字段

  • 按添加按钮

  • 从列表中选择一个新的升级类,然后按“升级”按钮


  • 现在,在步骤2中创建的QLabel小部件实际上是ClickableLabel对象

    您好,谢谢您的回答,实际上我的UI包含10个QLabel项,使用上述方法应该创建10个与每个QLabel对应的类。您需要升级10个
    QLabel
    ,创建10个
    ClickableLabel
    对象。现在,如果您确实有10个对象,那么还可以在.ui中保留一个空布局,并使用
    for
    循环从类构造函数(实例化.ui的构造函数)以编程方式添加标签。然后直接创建
    ClickableLabel
    对象并将其添加到原始空布局(使用
    addWidget
    )。您好,感谢您的回答,实际上我的UI包含10个QLabel项,使用上述方法应创建10个对应于每个QLabel的类。您需要升级10个
    QLabel
    ,创建10个
    ClickableLabel
    对象。现在,如果您确实有10个对象,那么还可以在.ui中保留一个空布局,并使用
    for
    循环从类构造函数(实例化.ui的构造函数)以编程方式添加标签。然后直接创建
    ClickableLabel
    对象,并将它们添加到原始空布局中(使用
    addWidget
    )。