Clickable Qlabel如何在Designer内部使用

时间:2015-06-25 04:43:24

标签: c++ qt

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

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

任何帮助将不胜感激..

由于 哈里斯

3 个答案:

答案 0 :(得分:2)

在Qt Desiger内部,你必须创建一个QLabel,然后将其“推广”到ClickableLabel类。

为此,右键单击窗口小部件中实例化的QLAbel对象,选择“Promote widget ...”并指定ClickableLabel类名称和定义它的头文件的路径。

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

这应该只是工作!

答案 1 :(得分:1)

使用您提供的链接,我创建了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();
}

重要的一点是,在自定义窗口小部件时,您需要将parent pointer传递给自定义窗口小部件,即MainWindow。自定义小部件后,您需要以编程方式提供其所有属性。请在项目中为.h课程添加相应的.cppClickableLabel。 希望这对你有所帮助。

答案 2 :(得分:1)

我认为UI设计师会引用QT Creator ......

您可以按照以下方式将标准QLabel提升为可点击标签:

  1. 创建ClickableLabel -class。

  2. 在QT Creator中创建标准QLabel -widget。

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

  4. 将先前创建的ClickableLabel -class的名称输入到Promoted类名称-field。该对话框还会根据类的名称自动填充头文件-field。

  5. 按添加按钮。

  6. 从列表中选择一个新的提升类,然后按“提升”按钮。

  7. 现在,在步骤2中创建的QLabel小部件实际上是ClickableLabel-object。