Customplaceholder没有匹配功能来调用QT标签

时间:2019-01-23 20:00:13

标签: c++ qt placeholder

我的QT项目有问题。我想创建一个可触摸的Qlabel,因此我在gui设计器中创建了一个占位符,并将其引用到从QLabel扩展的“ watchlistlabel”。当我现在启动我的应用程序时,出现错误“没有匹配的函数调用WatchListLabel :: WatchListLabel(QGroupBox *&)” name1 =新的WatchListLabel(groupBox_3);

我的标签在组框中,这会影响我的代码吗? 为什么找不到匹配的功能?                                               ^

 #include<QLabel>

  class WatchListLabel: public QLabel
{
   Q_OBJECT
  private: 
     void mousePressEvent(QMouseEvent * event) override;
 public:
    WatchListLabel();
 };

watchlistlabel.cpp

  #include "watchlistlabel.h"

 void WatchListLabel::mousePressEvent(QMouseEvent *event)
 {



    }

  WatchListLabel::WatchListLabel()
 {

 }

QTdesigner

1 个答案:

答案 0 :(得分:0)

您缺少使用父窗口小部件的构造函数。对此的一般建议是使用Qt Creator新类向导创建新的QObject子类,它将使一切正确。但是要解决此类的问题,请尝试使用以下构造函数替换默认构造函数:

.h中的声明:

explicit WatchListLabel(QWidget *parent = nullptr);

.cpp中的定义:

WatchListLabel::WatchListLabel(QWidget *parent)
    : QLabel(parent) 
    //, any other member variable initializations
{
    // any constructor code if needed
}