По крайней мере мне не удается собрать программу, пишет
ui_form.h: In member function `void Ui_MainWindow::setupUi(QMainWindow*)':
ui_form.h:188: error: 'class QMainWindow' has no member named 'setIcon'
make[1]: *** [debug\main.o] Error 1
make[1]: Leaving directory `C:/SABROG/qt'
make: *** [debug] Error 2
И почему интересно он не находит метод setIcon, уже поменял рабочую дирректорию.
Действительно MainWindow ни в каких версиях не имеет метода setIcon, правда QWidget имеет, я так понимаю базовый класс MainWindow как раз QWidget. Но в Assistance я увидел такую надпись:
void QWidget::setIcon ( const QPixmap & i )
Use setWindowIcon() instead.
See also icon().
Т.е. надо использовать setWindowIcon вместо setIcon, каким-то чудом сам Qt версии 4.4.0 сам использует setIcon при создании файла ui_form.cpp
Это qwidget.cpp 4.4.0:
void QWidget::setIcon(const QPixmap &i)
{
setWindowIcon(i);
}
qwidget.h
QT3_SUPPORT void setIcon(const QPixmap &i);
Т.е. QT3_SUPPORT видимо нам говорит о том, что метод setIcon анахронизм и если собирать Qt без backend поддержки Qt3 то начинаются косяки. Но я точно знаю что собирал Qt с поддержкой Qt3 !
добавлено спустя 17 часов: ------
Тему можно уже переименовать в "Бьюсь уже 4ый день"
Но есть и хорошие новости, я допетрил как можно обойти косяки.
1. Компилю снапшот в debug shared версию
2. Копирую Qt Designer с dllками в отдельную папку
3. Открываю в нем свою форму, делаю изминения и сохраняю
4. Октрываю в старом Qt Designerе изминенную форму и сохраняю
5. Собираю проект через старый (stable Qt, что на сайте) и все.
Фишка в том, что новый Qt Designer добавляет в .ui файл свойства для контролов, которых еще нет в старой версии Qt и в итоге при конвертацию его в ui_form.cpp идет обращение к методам класса, которых еще нет. При пересохранении формы в старом Qt Designere эти дополнительные свойства им просто удаляются (или скорее файл просто пересоздается заново с теми свойствами, что ему известны)
добавлено спустя 1 час 7 минут: -----
Похоже я достал уже тех поддержку trolltech, они у меня номер лицензии требуют
Говорят, что если нету, то задавайте вопросы в mailing-listaх.