在Qt中创建具有QDialog的类,用于特定的对话

时间:2017-12-10 01:22:35

标签: c++ qt

我只想制作一个自定义Dialog,所以我想围绕标准的QDialog创建一个类。目标是调用创建Dialog的构造函数,并调用show()函数使其显示。下一步是在我的Widget(调用Dialog构造函数)Pushbutton和show()函数之间建立连接。

我的标题如下:

#include <QDialog>

class Dialog_Setting : public QDialog
{
    Q_OBJECT
  public:
    Dialog_Setting();

  public slots:
    void show(void);

  private:
    QDialog * dialog;
};

我的.cpp:

   #include "Dialog_Setting.h"

Dialog_Setting::Dialog_Setting()
{
  dialog = new QDialog;
}

void Dialog_Setting::show()
{
  dialog->show();
}

我已取出连接并收到新错误。 我班上有什么问题?

  

未定义引用`vtable for Dialog_Setting&#39;

感谢您的帮助,我喜欢StackOverflow

1 个答案:

答案 0 :(得分:0)

确保将show()作为广告位实施,以便connect()填充它:

#include <QDialog>

class Dialog_Setting : public QDialog
{
    Q_OBJECT
public:
    Dialog_Setting();

public slots:
    void show();
};

您也忘记继承QObject或其他基于QObject的QDialog并声明宏Q_OBJECT。所有这些都是使您的自定义类通过connect()与其他类进行通信所必需的。