Здравствуйте !!! Есть класс:
class my_dialog : public QDialog //,public for_test
{
Q_OBJECT
public :
my_dialog(QWidget *parent = 0);
private:
QLineEdit *lineEdit;
private slots:
void on_lineEdit_textChanged(const QString &);
};
реализация:
my_dialog::my_dialog(QWidget *parent): QDialog(parent)
{
my_dialog::lineEdit = new QLineEdit;
QObject::connect(my_dialog::lineEdit, SIGNAL(textChanged(const QString &)),this, SLOT(my_dialog::on_lineEdit_textChanged(const QString &)));
QHBoxLayout *mainLayout = new QHBoxLayout();
mainLayout->addWidget(my_dialog::lineEdit);
QWidget::setLayout(mainLayout);
QWidget::setWindowTitle(tr("Filtr"));
}
задача в том, чтобы при вызове слота on_lineEdit_textChanged можно было получить доступ к виджетам основной формы. Класс основной формы - class for_test : public QMainWindow
Если пытаюсь наследоваться дополнительно от класса for_test
class my_dialog : public QDialog ,public for_test
компилятор ругается - ambiguous conversions from 'my_dialog *const ' to 'const QObject *' на строчку
QObject::connect(my_dialog::lineEdit, SIGNAL(textChanged(const QString &)),this, SLOT(my_dialog::on_lineEdit_textChanged(const QString &)));
Пробовал подругому:в секцию private в my_dialog добавил - Ui::for_testClass *ui_; в реализации соответственно добавил:
ui_=new Ui::for_testClass;
ui_->lineEdit->setText("");
программа запускается, но на строчке - ui_->lineEdit->setText(""); вылетает.
Подскажите, что я делаю не так
Среда разработки - Visual Studio 2008.