本来看着教材的目的是写一个标准输入对话框类的,可是因为粗心,一直报错,不过也明白了一些东西,做个总结。
你想要从一个对话框弹出一个对话框,需要在要弹出的对话框中加入Q_Object,还需要加入一些头文件声明,比如我是自定义继承QDialog类,需要QDialog的声明和QWidget的声明,同时为构造函数添加参数如类似myd(QWidget* parent=0)
代码:
dialog头文件:
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>
#include <QGridLayout>
#include "myd.h"
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
private:
QPushButton *mybtn;
QGridLayout *myGrid;
myd *mydialog;
public slots:
void showmywin();
};
#endif // DIALOG_H
dialog源码:
#include "dialog.h"
#include "myd.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
mybtn=new QPushButton("我的按钮");
myGrid=new QGridLayout(this);
myGrid->addWidget(mybtn);
connect(mybtn,SIGNAL(clicked(bool)),this,SLOT(showmywin()));
}
void Dialog::