Доброе Время суток!
Напишу сразу, - я новичок, след-но ни высокомерные, ни шибко умные, на данный вопрос не отвечают!!!
Желательно, получить ответ в виде: да, ты прав есть изменения, думай ищи или нет изменений не было думай ищи(т е мне решение не нужно, и код пока не нужен!!!)
#include <QtGui>
#include "finddialog.h"
FindDialog::FindDialog(QWidget *parent)
:QDialog(parent)
{
label =new QLabel("шаблон поиска:");
lineEdit = new QLineEdit;
label->setBuddy(lineEdit);
caseCheckBox =new QCheckBox("соответствие");
backwardCheckBox =new QCheckBox("обратный поиск");
findButton =new QPushButton("найти");
findButton->setDefault(true);
// 1 вопрос
findButton->setEnable(false); // данную функцию убрали ??????????????????
closeButton =new QPushButton("выход");
connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(enabledFindButton(const QString &)) );
connect(findButton, SIGNAL(clicked()),this, SLOT(findClicked()) );
connect(closeButton, SIGNAL(clicked()), this, SLOT(close()) );
QHBoxLayout* topLeftLayout =new QHBoxLayout;
topLeftLayout->addWidget(label);
topLeftLayout->addWidget(lineEdit);
QVBoxLayout* leftLayout = new QVBoxLayout;
leftLayout->addLayout(topLeftLayout);
leftLayout->addWidget(caseCheckBox);
leftLayout->addWidget(backwardCheckBox);
QVBoxLayout* rightLayout = new QVBoxLayout;
rightLayout->addWidget(findButton);
rightLayout->addWidget(closeButton);
rightLayout->addStretch();
QHBoxLayout* mainLayout =new QHBoxLayout;
//????????????????????????????????????????????????????????????????????????????????????
//2 и 3 вопрос: тут компилятор выдает 2 ошибки - это верно, так как ожидает параметр QWidget *;
//но я делаю по книги QT4 Программирование GUI на С++.2ed.2008.djvu, ошибка в книге?????
mainLayout->addWidget(leftLayout);
mainLayout->addWidget(rightLayout);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
setLayout(mainLayout);
setWindowTitle("ПОИСК");
setFixedHeight(sizeHint().height());
}
void FindDialog::findClicked()
{
QString text =lineEdit->text();
Qt::CaseSensitivity cs = caseCheckBox->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive;
if(backwardCheckBox->isChecked())
emit findPrev(text, cs);
else
emit findNext(text, cs);
}
void FindDialog::enabledFindButton(const QString &text)
{
findButton->setEnabled(!text.isEmpty());
}
Причина редактирования: Используй тег code, не используй большой шрифт