Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Eclipse/QT Designer. Средства настройки MDI, Не могу найти визуальные средства 
:(
    Опции темы
JavaCraft
Дата 13.9.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



В Eclipse/CDT/QT делаю MDI приложение.
Возникли два вопроса.

По документации, несмотря на разночтения, всё более менее понятно. Хотя, в конечно счете, не понятно, как правильно.
Буду благодарен за разъяснения этой путаницы и как правильно реализовать MDI в QT4.3.1, желательно с ипользованием QT Designer?

Разночтения вот какого плана:

В QT3 
Код

MainWindow::MainWindow(QWidget *parent, const char *name) : QMainWindow(parent, name) 
{ 
  (QWorkspace *)workspace = new QWorkspace(this);  //QWorkspace:QWidget 
  setCentralWidget(workspace); 
 ...
}

Код

ChildWindow *MainWindow::createChildWindow() 
{ 
  ChildWindow *child = new ChildWindow(workspace); 
 ...
}


в примерах QT 4.3.1
Код

MainWindow::MainWindow()
{
    mdiArea = new QMdiArea; //QMdiArea:QAbstractScrollArea:QFrame:QWidget 
    setCentralWidget(mdiArea);
    ...
}

Код

ChildWindow *MainWindow::createChildWindow()
{
    ChildWindow *child = new ChildWindow; //ChildWindow:QWidget 
    mdiArea->addSubWindow(child);
    ...
}


В документации QT 4.3.1 непонятно зачем добавили новую сущность QSubWindow:QWidget для дочерних окон.
В примерах MDI этот класс нигде не применяется, но в документации сказано, что его нужно применять.

Однако, код построенный той-же версией 4.3.1 QT Designer отличается как от примеров в документации по Q3, так и от примеров и от документации QT4.3.1
Код

class Ui_TestMdiClass
{
public:
    QWidget *centralwidget;
...
    void setupUi(QMainWindow *mainwindow)
    {
...
    centralwidget = new QWidget(mainwindow);
...
    mainwindow->setCentralWidget(centralwidget);
...
    }

Код

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
    ui.setupUi(this);
}

Код

ChildWindow::ChildWindow(QWidget *parent): QWidget(parent)
{
    ui.setupUi(this);
}


По сути, этот код не использует специальные MDI-классы и не реализует MDI интерфейс, а реализует два независимых окна.

Изменять этот код бесполезно, т.к. он автоматически меняется в процессе разработки.
Средств создания MDI интерфейса, т.е. как назначить и связать Главное и дочернее окно, в QT Designer я не нашел.
Редактировать это в коде класса MainWindow не вижу смысла, т.к. этот код должен генериться автоматом и в случае ручного редактирования теряются преимущества Designer. Во всяком случае, его код менее понятен и более громоздок, чем человеческий.

Всё-таки, хотелось бы разобраться и найти эти средства.

Это сообщение отредактировал(а) JavaCraft - 13.9.2007, 17:19
PM MAIL   Вверх
archimed7592
Дата 13.9.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



При помощи дизайнера - никак. Что мешает отделить mdi-логику от остального внешнего вида, а потом воспользоваться композицией этих двух сущностей?


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JavaCraft
Дата 13.9.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Ну в общем-то добился нужного результата ручными правками XML(UI) и коррекцией ошибок QT Designera, но дочего крииииво!

Добавлено @ 18:40
Цитата(archimed7592 @  13.9.2007,  18:12 Найти цитируемый пост)
Что мешает отделить mdi-логику от остального внешнего вида

Там окна имеют не те классы какие надо и я затрудняюсь отделить.

Делается это так

1) Создаем MainWindow:QMainWindow и Child:QWidget -  в дизайнере и закрываем.
2) Открываем MainWindow.ui как текст и меняем класс centralwidget с QWidget на QMdiArea, сохраняем изменение
Код

<widget class="QMdiArea" name="centralwidget" />

3) Открываем код ui_MainWindow.h и добавляем строку MainWindowClass->setCentralWidget(centralwidget);
Код

  centralwidget = new QMdiArea(MainWindowClass);
  centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
  MainWindowClass->setCentralWidget(centralwidget); //Вот здесь

4) Аналогичную строку, на всякий случай, дублируем после создания интерфейса, и явно добавляем дочернее окно в родительское
Код

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
    ui.setupUi(this);
    
    this->setCentralWidget(ui.centralwidget); //Вот это место

    Child *child = new Child;

    ui.centralwidget->addSubWindow(child); //И вот это

     //Устанавливаем вручную нужный размер и выравнивание.

    child->show();
}


5) Сохраняем проект. Применяем к проекту Index/Update With Modified Files
6) Компилируем, запускаем

Кто знает как проще, поделитесь секретом?

Это сообщение отредактировал(а) JavaCraft - 13.9.2007, 19:08
PM MAIL   Вверх
JavaCraft
Дата 13.9.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Кстати, это далеко не единственный случай "Нововведений"

Например, состав QPixmap изменился, пропала функция fromMimeSource, в результате код старых примеров стал несовметим с QT4.
Ни в документации ни в новых примерах нет никаких пояснений.


PM MAIL   Вверх
archimed7592
Дата 13.9.2007, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(JavaCraft @  13.9.2007,  18:38 Найти цитируемый пост)
коррекцией ошибок QT Designera

Ложно считать ошибками результат применения инструмента, который не рассчитан на такое применение.


Цитата(JavaCraft @  13.9.2007,  18:38 Найти цитируемый пост)
Открываем MainWindow.ui как текст и меняем класс centralwidget с QWidget на QMdiArea, сохраняем изменение

Разве не то же самое делает диалоговое окно дизайнера, вызываемое пунктом контекстного меню, AFAIR, "Promote to..."?


Цитата(JavaCraft @  13.9.2007,  18:38 Найти цитируемый пост)
Открываем код ui_MainWindow.h и добавляем строку MainWindowClass->setCentralWidget(centralwidget);

Более мудрым было бы следующее решение:
Создать класс, унаследованный от QMdiArea и в его конструкторе делать необходимые действия(а именно, устанавливать this как centralWidget parent'а).


Цитата(JavaCraft @  13.9.2007,  18:38 Найти цитируемый пост)
явно добавляем дочернее окно в родительское

Я что-то не пойму... У тебя что, всего одно дочернее окно? Зачем тогда нужен MDI? Если нет, то всё равно необходимо реализовывать интерфейс для регистрации окон. Почему бы не сделать это в классе, унаследованном от сгенерированного дизайнером(MainWindow в твоём случае)?


Цитата(JavaCraft @  13.9.2007,  20:04 Найти цитируемый пост)
Например, состав QPixmap изменился, пропала функция fromMimeSource, в результате код старых примеров стал несовметим с QT4.
Ни в документации ни в новых примерах нет никаких пояснений.

Ну как же "никаких пояснений"... А это что?
Цитата
source: http://doc.trolltech.com/4.3/porting4.html...mesourcefactory
QMimeSourceFactory

The QMimeSourceFactory has been renamed Q3MimeSourceFactory and moved to the Qt3Support library. New Qt applications should use Qt 4's Resource System instead.

Ессно не будет этого метода ибо с 4-й версии нету никаких mimesource'ов, как и, собственно фабрики в которых их можно было регистрировать.

Это сообщение отредактировал(а) archimed7592 - 13.9.2007, 20:41


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JavaCraft
Дата 13.9.2007, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Ложно считать ошибками результат применения инструмента, который не рассчитан на такое применение.

Почему не расчитан? С новыми классами нормально работает. Он не нерасчитан, а недоделан или сделан исходя из ошибочных представлений, т.е. с ошибкой. Ему ничего не мешает добавить эту строку при генерации кода из XML. Почему она пропадает...? Ложно считать программистов и программы непогрешимыми и безошибочными.


Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Разве не то же самое делает диалоговое окно дизайнера, вызываемое пунктом контекстного меню, AFAIR, "Promote to..."?

Не знаю, не нашел эту опцию. Нашел только Promoted widgets ... Как им пользоваться не понятно.
Проще открыть через контекстное меню в Project Explorer/Open With/Text Editor и отредактировать.


Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
У тебя что, всего одно дочернее окно?

Это пример, и код дочернего окна туда поставлен, для простоты примера. В рабочей версии всё конечно по другому. Окна подгружаются из плагинов.
Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Почему бы не сделать это в классе, унаследованном от сгенерированного дизайнером(MainWindow в твоём случае)?

Зачем?! сгенерированного класса достаточно.

Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)

Цитата(JavaCraft @  13.9.2007,  18:38 Найти цитируемый пост)
Открываем код ui_MainWindow.h и добавляем строку MainWindowClass->setCentralWidget(centralwidget);

Более мудрым было бы следующее решение:
Создать класс, унаследованный от QMdiArea и в его конструкторе делать необходимые действия(а именно, устанавливать this как centralWidget parent'а).

Эта строка туда поставлена только потому, что Дизайнер ее пропустил ибо не смог определить, что QMdiArea унаследован(через пару подклассов) от QWidget, и сделать также как для QWidget.
И эта строка оттуда может исчезнуть, т.к. этот код автогенерируемый. Поэтому эта строка также вынесена в конструктор MainWindow.

Если так как ты советуешь сделать, то дизайнер форм не при делах.
В общем согласен, что так Мудро. Как я раньше говорил, без него всё вполне понятно и просто, но с ним быстрее, а мне крайне нужна скорость разработки.


Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Ну как же "никаких пояснений"... А это что?

Я имел в виду дистрибутив/исходники с примерами. Ясен пень в инете всего нарыть можно.


Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Есесно не будет этого метода ибо с 4-й версии нету никаких mimesource'ов, как и, собственно фабрики в которых их можно было регистрировать.

Я к чему это заметил. К тому, что фактически для перехода с QT3 -> QT4 приходится переучиваться и переписывать код. Аналогично ожидать такое и для QT4 -> QT5 -> QT6 и так далее в лучших традициях M$. Изучать и чтобы за это(за изучение) платили, да ради бога, но самому Деньги жалко платить(=выбрасывать) за такое "удовольствие"! Впрочем это оффтопик.





Это сообщение отредактировал(а) JavaCraft - 13.9.2007, 23:18
PM MAIL   Вверх
archimed7592
Дата 13.9.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(JavaCraft @  13.9.2007,  22:41 Найти цитируемый пост)
Не знаю, не нашел эту опцию. Нашел только Promoted widgets ... Как им пользоваться не понятно.

А ты вот возьми и разберись. Тебя интересовало, как это сделать именно в дизайнере или меня? Тебе это нужно или мне?

Цитата(JavaCraft @  13.9.2007,  22:41 Найти цитируемый пост)
Проще открыть через контекстное меню в Project Explorer/Open With/Text Editor и отредактировать.

Да проще вообще ручками интерфейс писать - не переломишься.


Цитата(JavaCraft @  13.9.2007,  22:41 Найти цитируемый пост)
Я имел в виду дистрибутив/исходники с примерами. Ясен пень в инете всего нарыть можно.

Логичней пояснения давать в оффициальной документации, а не в примерах - нафига новичку, читающему примеру, подробности о том, что было в версии Qt, древний как дерьмо мамонта? И нарыто было не в инете, а в assistant'е - советую переодически им пользоваться.


Цитата(JavaCraft @  13.9.2007,  22:41 Найти цитируемый пост)
Я к чему это заметил. К тому, что фактически для перехода с QT3 -> QT4 приходится переучиваться и переписывать код. Аналогично ожидать такое и для QT4 -> QT5 -> QT6 и так далее в лучших традициях M$.

Ну ты с MS не сравнивай - земля и небо.
Ничему переучиваться не нужно. Тебе дали новые инструменты, а старые просто положили на другую полочку. Не хочешь переучиваться - бери инструменты с другой полочки(Q3XXX).
Code Less - Create More © Trolltech.

Это сообщение отредактировал(а) archimed7592 - 14.9.2007, 00:00


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JavaCraft
Дата 14.9.2007, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Цитата(archimed7592 @  13.9.2007,  23:59 Найти цитируемый пост)
А ты вот возьми и разберись. Тебя интересовало, как это сделать именно в дизайнере или меня? Тебе это нужно или мне?

Мне. Потому и спрашиваю. А этот инструмент, ИМХО инопланетяне для инопланетян делали. Я всё там изрыл, но где там волшебная кнопка так и не нашел. Да и не то он делает, что нужно.

Аналогичная задача решается в Delphi двумя способами
1) Через редактор свойств устанавливается тип окна.
2) В тектовом редакторе изменяется описание формы, которое автоматически применяется.
И никаких дополнительных тулзов не требуется.

А этот тулз что-то ваще не то делает.
Если ты при помощи него добился нужного эффекта, так прямо и напиши последовательность действий, чего флейм разводить.

Цитата(archimed7592 @  13.9.2007,  23:59 Найти цитируемый пост)
нафига новичку, читающему примеру, подробности о том, что было в версии Qt, древний как дерьмо мамонта? 

Неа. Нафига, например, программисту читать прошлогодние или упаси бог еще более древние толмуды. Да и вообще, правильная дока только сегодня и только в каждой последней версии, а антиквариат типа K&R и т.п. ф топку, да? Зачем мне покупать толмуд по QT4, если уже есть версия QT4.3.1?

Цитата(archimed7592 @  13.9.2007,  23:59 Найти цитируемый пост)
Ничему переучиваться не нужно. Тебе дали новые инструменты, а старые просто положили на другую полочку. Не хочешь переучиваться - бери инструменты с другой полочки(Q3XXX).

Ага также как с .NET 1 на NET 2, 3 там такой же полет мысли. Это у них там Экстрим программинг, а у нас тут из-за них экстрим гемор.
PM MAIL   Вверх
archimed7592
Дата 14.9.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
А этот инструмент, ИМХО инопланетяне для инопланетян делали.

Лучше всё равно не скажу:
Цитата
Первый[речь о Qt]: что-то было разработано одним человеком (двумя, тремя) для себя или для своей работы, а в дальнейшем, в силу корпоративной политики, стало достоянием общественности — но, те не менее, продолжает строго разрабатываться по корпоративному плану, с учетом пожеланий пользователей продукта. На сегодня таким образом рождаются самые интересные, стабильные, "сбитые" и хорошо документированные детища.

источник: Gtk vs. Qt: драки не будет



Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Аналогичная задача решается в Delphi двумя способами

Претензии не по адресу. Тебя не устраивает - напиши в суппорт, может учтут. Заметь, всех остальных всё устраивает.
Ну или второй путь: снести Qt и пользоваться Delphi. Тебя заставляет кто-то что ли?



Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Если ты при помощи него добился нужного эффекта, так прямо и напиши последовательность действий, чего флейм разводить.

У меня времени нет экспериментами ради тебя заниматься. Появится время - может быть разберусь и распишу что и как.


Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Нафига, например, программисту читать прошлогодние или упаси бог еще более древние толмуды.

Действительно, читать ему это незачем. Только я не пойму к чему ты это сказал.


Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Да и вообще, правильная дока только сегодня и только в каждой последней версии, а антиквариат типа K&R и т.п. ф топку, да?

Что-то у тебя мысль несвязная пошла. Сам себя опровергаешь smile. Ну, если ты пользуешься последней версией, то документацию по 3-й версии, если жалко выбрасывать, нужно читать через строчку.

Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Зачем мне покупать толмуд по QT4, если уже есть версия QT4.3.1?

Действительно, незачем. Попробуй как-нибудь в коммандной строке набрать assistant - бесплатный толмуд по самой последней(точнее по установленной) версии Qt.


Цитата(JavaCraft @  14.9.2007,  00:59 Найти цитируемый пост)
Ага также как с .NET 1 на NET 2, 3 там такой же полет мысли. Это у них там Экстрим программинг, а у нас тут из-за них экстрим гемор. 

1. Провели анализ и придумали систему, превосходящую по всем параметрам старую.
2. Ввели эту систему в новой версии.
3. Убрали старую систему из новой версии.
4. Оставили возможности работы со старой системой.
Чё неустраивает? Будь ты на их месте ты как бы сделал?



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JavaCraft
Дата 14.9.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Цитата(archimed7592 @  13.9.2007,  20:38 Найти цитируемый пост)
Разве не то же самое делает диалоговое окно дизайнера, вызываемое пунктом контекстного меню, AFAIR, "Promote to..."?

Цитата(archimed7592 @  14.9.2007,  11:17 Найти цитируемый пост)
Цитата(JavaCraft @  14.9.2007,  00:59 )
Если ты при помощи него добился нужного эффекта, так прямо и напиши последовательность действий, чего флейм разводить.
У меня времени нет экспериментами ради тебя заниматься. Появится время - может быть разберусь и распишу что и как.


А фигли тогда пукать не по делу. Оказывается, ты даже не пробовал.
Вот пойди ка сам сначала разберись, а потом советы давай.
Это у меня времени мало, а у тебя его видать завались.

Тема себя исчерпала, а проблема уже решена.
PM MAIL   Вверх
archimed7592
  Дата 14.9.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(JavaCraft @  14.9.2007,  17:24 Найти цитируемый пост)
А фигли тогда пукать не по делу.

Ха-ха... Это ты у нас ..., который может 10 постов спорить "какую же надпись выдаёт инсталятор в таких-то условиях" smile.

Вот ui, полученный исключительно тыканием по кнопкам в дизайнере(promote to... и иже с ними):
Код
<ui version="4.0" >
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow" >
  <property name="geometry" >
   <rect>
    <x>0</x>
    <y>0</y>
    <width>639</width>
    <height>574</height>
   </rect>
  </property>
  <property name="windowTitle" >
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget" >
   <layout class="QHBoxLayout" >
    <item>
     <widget class="QMdiArea" name="frame" >
      <property name="frameShape" >
       <enum>QFrame::StyledPanel</enum>
      </property>
      <property name="frameShadow" >
       <enum>QFrame::Raised</enum>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
     <width>639</width>
     <height>19</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar" />
 </widget>
 <customwidgets>
  <customwidget>
   <class>QMdiArea</class>
   <extends>QFrame</extends>
   <header>QMdiArea</header>
   <container>1</container>
  </customwidget>
 </customwidgets>
 <resources/>
 <connections/>
</ui>

Вот хидэр, который генерирует uic:
Код
/********************************************************************************
** Form generated from reading ui file 'untitled.ui'
**
** Created: Fri 14. Sep 21:31:29 2007
**      by: Qt User Interface Compiler version 4.3.1
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_UNTITLED_H
#define UI_UNTITLED_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHBoxLayout>
#include <QtGui/QMainWindow>
#include <QtGui/QMdiArea>           // ++++++++++++++++++++++++++++++++++
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QWidget>

class Ui_MainWindow
{
public:
    QWidget *centralwidget;
    QHBoxLayout *hboxLayout;
    QMdiArea *frame;
    QMenuBar *menubar;
    QStatusBar *statusbar;

    void setupUi(QMainWindow *MainWindow)
    {
    if (MainWindow->objectName().isEmpty())
        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->resize(639, 574);
    centralwidget = new QWidget(MainWindow);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    hboxLayout = new QHBoxLayout(centralwidget);
    hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
    frame = new QMdiArea(centralwidget);                                 // ++++++++++++++++++++++++++++++++++
    frame->setObjectName(QString::fromUtf8("frame"));
    frame->setFrameShape(QFrame::StyledPanel);
    frame->setFrameShadow(QFrame::Raised);

    hboxLayout->addWidget(frame);

    MainWindow->setCentralWidget(centralwidget);
    menubar = new QMenuBar(MainWindow);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 639, 19));
    MainWindow->setMenuBar(menubar);
    statusbar = new QStatusBar(MainWindow);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    MainWindow->setStatusBar(statusbar);

    retranslateUi(MainWindow);

    QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi

    void retranslateUi(QMainWindow *MainWindow)
    {
    MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(MainWindow);
    } // retranslateUi

};

namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui

#endif // UI_UNTITLED_H


Цитата
Вот пойди ка сам сначала разберись, а потом советы давай.

Я тебе правильный совет дал. То что ты не хочешь ничего сделать для того, чтобы разобраться самому, без подтирания тебе соплей - твои проблемы. А указывать чего и кому давать жене своей будешь.

Это сообщение отредактировал(а) Earnest - 14.9.2007, 20:00


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JavaCraft
Дата 14.9.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



 smile 
Мне твоих советов не надо, т.к. в большинстве случаев они не по существу и не от том, как и в этом случае.


 ! 
Earnest
Соблюдай приличия!


Это сообщение отредактировал(а) Earnest - 14.9.2007, 19:48
PM MAIL   Вверх
archimed7592
Дата 14.9.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(JavaCraft @  14.9.2007,  18:59 Найти цитируемый пост)
Мне твоих советов не надо, т.к. в большинстве случаев они не по существу и не от том, как и в этом случае.
Ок. Больше не получишь.

Ой, а за мат и забанить могут.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.