вопрос такой:
я создаю диалоговое окно, в конструктор которого нужно передать строковую переменную
//findDialog.h
#ifndef FINDDIALOG_H
#define FINDDIALOG_H
#include <QDialog>
class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;
class FindDialog : public QDialog
{
Q_OBJECT
public:
FindDialog(QWidget *parent = 0,const QString &fileName);
signals:
void findNext(const QString &str, Qt::CaseSensitivity cs);
void findPrevious(const QString &str, Qt::CaseSensitivity cs);
private slots:
void findClicked();
void enableFindButton(const QString &text);
private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *caseCheckBox;
QCheckBox *backwardCheckBox;
QPushButton *findButton;
QPushButton *closeButton;
};
#endif
реализация такая
#include <QtGui>
#include "finddialog.h"
FindDialog::FindDialog(QWidget *parent,const QString &fileName)
: QDialog(parent)
{
label = new QLabel(fileName);
lineEdit = new QLineEdit;
label->setBuddy(lineEdit);
...
и в программе пытаюсь создать диалог модальным окном так:
void DirectoryViewer::get_path()
{
QModelIndex index = treeView->currentIndex();
if (!index.isValid())
return;
FindDialog dialog(this,model->filePath(index));
dialog.exec();
}
выдается сообщение
In file included from directoryviewer.cpp:4:
finddialog.h:16: error: default argument missing for parameter 2 of ‘FindDialog::FindDialog(QWidget*, const QString&)’
make: *** [directoryviewer.o] Ошибка 1
когда я делал конструктор FindDialog только с параметром parent все работает нормально, но мне при построении окна нужно именно передать в него параметр. подскажите, пожалуйста, что я не правильно сделал. С уважением, Константин