Russian Qt Forum
Августа 27, 2025, 20:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: SDI приложение, хочу рисовать в окне, не пойму, что делть и с чего начать  (Прочитано 14776 раз)
koe-kto
Гость
« Ответ #15 : Февраля 03, 2009, 07:14 »

Хмм, а вот это зря... В замешательстве Получается я должен вручную и в хедере и в .cpp-файле функции добавлять...

Чтение Qt Designer Manual-а пока дает мне больше вопросов чем ответов, особенно в связи с отличиями Qt Designer-а и соотв.части Qt Creator-а Непонимающий

А вот ещё вопрос из той же серии: есть ли в Qt набор "стандартных" картинок/иконок для обозначения действий "New", "Open", "Save", "Cut/Copy/Paste" и т.д.?
В инете нахожу что вроде бы есть такое, а где конкретно? (В примерах встречаются иногда, но не полный набор)
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #16 : Февраля 03, 2009, 12:21 »

Получается я должен вручную и в хедере и в .cpp-файле функции добавлять...

Да. В дизайнере можно создать коннекты стандартных сигналов к стандартным слотам.

Чтение Qt Designer Manual-а пока дает мне больше вопросов чем ответов, особенно в связи с отличиями Qt Designer-а и соотв.части Qt Creator-а Непонимающий

Qt Creator не использую, но думаю Qt Designer и в Африке Qt Designer Подмигивающий

А вот ещё вопрос из той же серии: есть ли в Qt набор "стандартных" картинок/иконок для обозначения действий "New", "Open", "Save", "Cut/Copy/Paste" и т.д.?
В инете нахожу что вроде бы есть такое, а где конкретно? (В примерах встречаются иногда, но не полный набор)

Набора иконок нет. Да и правильно что нет. Все что есть это в examples, demos
« Последнее редактирование: Февраля 04, 2009, 12:41 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Dendy
Гость
« Ответ #17 : Февраля 03, 2009, 23:29 »

Хмм, а вот это зря... В замешательстве Получается я должен вручную и в хедере и в .cpp-файле функции добавлять...

Если вы говорите "зря", значит или не до конца поняли идею или у вас переходный период с других визуальных средств программирования. Есть идея, что вспомогательные программы не должны править код. Так как это сопровождается испохабиванием того что пишет программист. Ни одна вспомогательная программа не сможет правильно вставить обьявления методов, сохранить форматирование и так далее. Кроме того есть риск случайной вставки, удаления или порчи такого кода когда программа полезет его править за вас.

В общем, код или на 100% пишется программистом или на 100% генерируется промежуточной утилитой.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #18 : Февраля 04, 2009, 00:17 »

Набор иконок можно посмотреть тут: %QTDIR%\tools\designer\src\components\formeditor\images\
здесь их пожалуй больше чем в других каталогах
Записан

Юра.
koe-kto
Гость
« Ответ #19 : Февраля 04, 2009, 15:40 »

Есть идея, что вспомогательные программы не должны править код.
Есть идея, что нудные повторяющиеся действия которые могут быть автоматизированы - должны быть автоматизированы Улыбающийся
Что вполне успешно реализовано в тех же Delphi и MSVS/.NET и т.д. Я конечно понимаю, что не всем нравится как оно там реализовано... (и что С++ и всякие Delphi - не совсем одно и тоже) Подмигивающий
Цитировать
Ни одна вспомогательная программа не сможет правильно вставить обьявления методов, сохранить форматирование и так далее.
Ну это мягко говоря неправда, особенно про форматирование.
А вообще ИМХО здесь даже проблема не в том, должно ли что-то лезть в писаный человеком код, а в том, почему описание графического интерфейса вдруг оказывается "кодом" а не "данными"... Но это уже не в тему Улыбающийся

По теме - я вдруг понял "что делать и с чего начать", когда прочитал про auto-connection - вот это было на редкость неочевидно Шокированный Забавно опять же, что вещи которые я ожидал что за меня сделает Qt Designer пришлось делать вручную, и наоборот - то что обычно делается вручную за меня сделало Qt В замешательстве
Записан
Rcus
Гость
« Ответ #20 : Февраля 04, 2009, 16:02 »

.ui файл это данные, а вот результат работы uic это уже код. Можно их грузить и напрямую ala .dfm, но все же это нужно не так часто.
autoconnect и плагин для IDE рулит (например для Eclipse/CDT есть плагин рефакторинга позволяющий в том числе генерировать пустые тела методов в cpp файле по объявлениям)
« Последнее редактирование: Февраля 04, 2009, 16:04 от Rcus » Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 865

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #21 : Февраля 04, 2009, 16:14 »

Забавно опять же, что вещи которые я ожидал что за меня сделает Qt Designer пришлось делать вручную, и наоборот - то что обычно делается вручную за меня сделало Qt В замешательстве
Знаешь, попытки влезть со своим уставом в чужие монастыри редко заканчиваются так мирно как у тебя.
Ты осознаешь наконец, что Qt - это с++ со всеми его достоинствами и недостатками или так и будешь пытаться работать с библиотекой как будто это конструктор для чайников?
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
koe-kto
Гость
« Ответ #22 : Февраля 04, 2009, 17:54 »

Ты осознаешь наконец, что Qt - это с++ со всеми его достоинствами и недостатками
Я осознаю, что Qt - это уже не совсем C++ Улыбающийся
Записан
koe-kto
Гость
« Ответ #23 : Февраля 18, 2009, 19:43 »

Хмм, а вот это зря... В замешательстве Получается я должен вручную и в хедере и в .cpp-файле функции добавлять...

Если вы говорите "зря", значит или не до конца поняли идею ...
Как говорится "время рассудит" - вот и рассудило, в новой версии Qt Creator'a появилась команда "Go to slot..." добавляющая слоты "за меня" Улыбающийся
Записан
Dendy
Гость
« Ответ #24 : Февраля 18, 2009, 21:49 »

Главное этим не увлекаться. Вот чесное слово, я бы не доверил сторонней утилите ковырять мои исходники. Куда именно в заголовочник она вставит обьявление метода, какое будет форматирование отступов, с каким квалификатором (private/protected/public) оно его вставит, какие будут имена аргументов? Это первое что приходит на ум. А в какой именно исходный файл оно вставит определение метода, если он у меня разнесён на несколько файлов? А может я вообще хотел слот сделать инлайновым. И опять же форматирование, именование переменных - нужно проверять в двух местах. Сколько отступов строк от верхнего и нижнего метода оно мне сделает, между какими методами оно вообще мне его вставит? А что будет если я случайно клацнул перейти не к тому слоту - я ведь захочу его удалить, вот только смогу ли я сделать это с помощью той же стороней утилиты, чтобы она случайно не удалила то что не нужно, или наоборот, удалила не всё? Что будет, если я захочу добавить или удалить параметр из слота или вообще изменить сигнатуру сигнала - прийдётся ведь всё равно править руками код, здесь никакие автоматизаторы не помогут.

В каждом классе пишется множество методов, стоит ли мучиться всеми этими вопросами ради того чтобы написать ещё один метод руками?
« Последнее редактирование: Февраля 19, 2009, 14:20 от Dendy » Записан
koe-kto
Гость
« Ответ #25 : Февраля 19, 2009, 14:10 »

Согласен, но для Qt-чайника (в моем лице) такая помощь совсем не лишняя.

Насчет форматирования это все в современных IDE легко решается, а вот это
каким квалификатором (private/protected/public) оно его вставит
действительно интересный вопрос Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.026 секунд. Запросов: 20.