crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> qt-4.8.3 изменили manager layout?, manager layout
новичок
  опции профиля:
сообщение 16.11.2012, 6:35
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 16.11.2012
Пользователь №: 3598

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброе Время суток!
Напишу сразу, - я новичок, след-но ни высокомерные, ни шибко умные, на данный вопрос не отвечают!!!
Желательно, получить ответ в виде: да, ты прав есть изменения, думай ищи или нет изменений не было думай ищи(т е мне решение не нужно, и код пока не нужен!!!)

#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, не используй большой шрифт
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ssoft
  опции профиля:
сообщение 16.11.2012, 7:10
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

Спасибо сказали: 30 раз(а)




Репутация:   3  


Нет, изменений не было.
Смотри документацию Qt.

1. Метод setEnabled, а не setEnable
2. и 3. Ничего не понятно одни ???????????????????
должно быть addLayout вместо addWidget. Возможно, ошибка в книге.

Еще раз повторю, пользуйся Qt документацией, там все подробно расписано.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
новичок
  опции профиля:
сообщение 16.11.2012, 7:14
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 16.11.2012
Пользователь №: 3598

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ssoft @ 16.11.2012, 10:10) *
Нет, изменений не было.
Смотри документацию Qt.

1. Метод setEnabled, а не setEnable
2. и 3. Ничего не понятно одни ???????????????????
должно быть addLayout вместо addWidget. Возможно, ошибка в книге.

Еще раз повторю, пользуйся Qt документацией, там все подробно расписано.


Спасибо, я просто не разобрался как выделить акценты(немного форум необычный, точнее методы, - привыкну), ясно, вопросов нет!!!

Цитата(новичок @ 16.11.2012, 10:12) *
Цитата(ssoft @ 16.11.2012, 10:10) *
Нет, изменений не было.
Смотри документацию Qt.

1. Метод setEnabled, а не setEnable
2. и 3. Ничего не понятно одни ???????????????????
должно быть addLayout вместо addWidget. Возможно, ошибка в книге.

Еще раз повторю, пользуйся Qt документацией, там все подробно расписано.


Спасибо, я просто не разобрался как выделить акценты(немного форум необычный, точнее методы, - привыкну), ясно, вопросов нет!!!


ДА, ПРИЗНАЮ - НЕВНИМАТЕЛЬНО ПРОЧИТАЛ КНИГУ - ВСЕ ВЕРНО КАК ВЫ СКАЗАЛИ - НЕТ ОШИБКИ В КНИГЕ, ПРОСТО Я НЕВНИМАТЕЛЬНО ЧИТАЛ!!!!!!!!!!!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.11.2012, 7:39
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


забавный пациент
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.5.2024, 1:25