Russian Qt Forum
Ноябрь 26, 2024, 16:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2] 3 4 5   Вниз
  Печать  
Автор Тема: Plugin для QDesigner невидимка.[НЕ ИМЕЕТ РЕШЕНИЯ]  (Прочитано 34509 раз)
Akon
Гость
« Ответ #15 : Февраль 07, 2012, 09:53 »

Цитировать
К примеру, работа с портом не имеет совершенно никакого отношения к интерфейсу пользователя.
А размещать данные и логику внутри класса формы - дурной тон.
+1. Специально для этого даже был создан специальный контейнер TDataModule. Это не гуй-компонент (не форма), но с ним работа точно такая же - перетаскивай на него компоненты и настраивай их свойства. В основном он используется для разработки модуля работы с базами данных (откуда по ходу и название).

Создается такое впечатление, что в Borland считали разработку в стиле компонентокидания охрененно крутой вещью. Но, скорее, на компонентокидание был спрос, и они занимали эту нишу:
1. Сегмент мелкого и динамичного бизнеса (за недорого и бысто наклепать небольшое корпоративное приложение).
2. Все увеличивающееся число начинающих разработчиков - для них Delphi обеспечивал низкий порог вхождения в профессию (в смысле получения результата, а не качественного дизайна или кода).

А так, VCL с точки зрения ООП на редкость качественная либа, имхо. 

Цитировать
Не видел ещё программ, которые вызывают омерзение лишь потому, что написаны на Делфи. Наоборот парочка лежит - и прекрасно выполняют свою работу.

PS нет плохих языков программирования, есть плохие проекты и программисты

+1. Например, на Delhi (или C++ Builder) написаны TotalCommander и TheBat.

P.S. Сам практически не пользуюсь дизайнером: 1. лэйауты снимают проблему позиционирования виджетов; 2. если есть условная компиляция, в результате которой виджет то нужен, то не нужен, что делать в дизайнере?

Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #16 : Февраль 07, 2012, 10:05 »

TotalCommander не трогай, он пишется на Delphi 2 (и, скорее всего, в основном, на чистом WinApi).
Как раз вот это обилие компонент приводит к тому, что делфятник без них просто не может. То есть, если нет готового компонента, то задача нерешаема.
ИМХО, в Qt намного лучше подход - ведь не понимая, что делаешь, нормального ничего не сделаешь. И получаются на делфи говнопроги, коих несчетное количество.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
« Ответ #17 : Февраль 07, 2012, 10:15 »

Многие проги написаны на делфи, и "пишется на делфи 2" не означает, что делфи пакость, а не язык Улыбающийся

Просто следует понимать, что уровень у языков разный.

to Пантер: Я честно, незная что делаю на Qt, сделал нормальную программу, которую впоследствии конечно много переписывал, НО... Даже та её первая версия, выполняла свою задачу на 5+.

Делфи так же может использовать WinApi, и прочая прочая прочая. Так что ваши "нападки" на него беспочвенны.

PS лучше говорите "программы, написанные МЕРЗКИМИ программистами на делфи - отвратительны."
Записан
BRE
Гость
« Ответ #18 : Февраль 07, 2012, 10:15 »

Когда либ штуки 3 и для себя - да.

Когда либ штук 20 и каждая из них содержит ненужный функционал - нет.
Не понял, чем в данном случае помогут плугины.
2Верес Перечитай сообщение Пантера и ответь на вопрос, ты думаешь что при перетаскивании компонента на форму тебе не придется править свои pro-файлы? Ты думаешь он сам там заработает... найдет все нужные библиотеки и слинкует с ними твою программу?
Записан
BRE
Гость
« Ответ #19 : Февраль 07, 2012, 10:24 »

Смысл, когда в нескольких десятках проектов используются одни и те же плагины.
Добавлять в каждый файл проекта их вручную муторно и довольно неудобно.

Смысл в облегчении добавления в проект функционала, 1-2 перетаскиваниями.
Сомнительная автоматизация процесса, в ручную перетягивать в дизайнере компоненты, не находишь? Вот если бы для этого написать скрипт...
Записан
Akon
Гость
« Ответ #20 : Февраль 07, 2012, 10:28 »

Цитировать
TotalCommander не трогай, он пишется на Delphi 2 (и, скорее всего, в основном, на чистом WinApi).
Как раз вот это обилие компонент приводит к тому, что делфятник без них просто не может. То есть, если нет готового компонента, то задача нерешаема.
ИМХО, в Qt намного лучше подход - ведь не понимая, что делаешь, нормального ничего не сделаешь. И получаются на делфи говнопроги, коих несчетное количество.
Скажу так, на Delphi принципиально можно создавать очень качественный код, просто сама среда изначально толкает в другую сторону. Одни развиваются и пишут грамотно или меняют инструментарий, другие остановятся "делфятниками".
Записан
Bepec
Гость
« Ответ #21 : Февраль 07, 2012, 10:45 »

to BRE

Да, мне не придётся править свои pro файлы.

Не придётся так же мучаться с хедерами. Ибо об этом позаботиться обёртка плагина designer'a.

Это уже проверено. Так же проверен установочный файл, закачивающий плагин с репозитория в каталог дизайнера. (всегда актуальная версия)

А перетягивать компоненты - это и есть самая что ни есть автоматизация. Вместо прописывания 5 хедеров(куда то, с чем то, настройки путей), нужно перетянуть 5 компонентов, которые автоматом станут доступны в программе.

Единственное пока слабое место - именно расположение на форме. Ибо добрые компоновщики, даже с size(0,0), добавляют к ним отступы и перекомпонует.



Записан
andrew.k
Гость
« Ответ #22 : Февраль 07, 2012, 10:49 »

PS нет плохих языков программирования, есть плохие проекты и программисты Подмигивающий
Вот в этом и проблема, ты не понимаешь, почему потраченные 5 секунд сейчас сэкономят тебе 5 дней потом.
А люди которые отделили зерна, это понимали.
Записан
s200999900
Гость
« Ответ #23 : Февраль 07, 2012, 10:51 »

Может как вариант подойдет ТС, название проекта не помню, помню только, что он коммерческий. Там разрабатывается альтернатива IDE QtCreator-у была и Qt программа писалась "почти-полностью" в GUI, те перетаскиванием неких заготовок и созданием связей между ними. Очень полезно для начинающих и как для оптимизации затрат времени. На счет того будет ли результирующий код оптимальным не скажу, но там все можно менять.
Записан
BRE
Гость
« Ответ #24 : Февраль 07, 2012, 10:51 »

Да, мне не придётся править свои pro файлы.
Не поделишься этим секретом? Весь мир затаил дыхание, Nokia так вообще встала с открытым ртом, ведь они сами не знали что это возможно. Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #25 : Февраль 07, 2012, 11:25 »

ИМХО, в Qt намного лучше подход - ведь не понимая, что делаешь, нормального ничего не сделаешь. И получаются на делфи говнопроги, коих несчетное количество.
Никогда не работал на делфи, но чужую корову всегда легко охаять Улыбающийся И я так думаю что говнопрогов на Qt никак не меньше, и это не в обиду Qt сказано, всегда есть много людей с (поразительными) способностями запоминать "форму/оболочку" - но не "содержание". И любой пакет имеет такой балласт, это нормально.

Верес, не могу сказать что Ваша проблема мне безумно интересна, но все же - не могли бы Вы пояснить о каком drag'n drop идет речь? Плагин что, пристыковывается к немодальному окну? Или как? И причем здесь хедеры, pro файлы если для конечного пользователя плагин = файл dll/dylib?

 
Записан
andrew.k
Гость
« Ответ #26 : Февраль 07, 2012, 12:00 »

Верес, не могу сказать что Ваша проблема мне безумно интересна, но все же - не могли бы Вы пояснить о каком drag'n drop идет речь? Плагин что, пристыковывается к немодальному окну? Или как? И причем здесь хедеры, pro файлы если для конечного пользователя плагин = файл dll/dylib?
В дельфи/билдере основой приложения был класс формы (TForm).
Вот если ты хочешь, чтобы твое приложение имело возможность работы с сетью нужно было на эту форму положить "компонент" "TClientSocket", если не изменяет память.
Это действие добавляло в класс формы приватный член TClientSocket *socket;
Дальше в гуи ты мог этому компоненту задать разные свойства.
Дальше из такого описания формы, созданного визуально (dfm-файл) генерился код, который создавал все компоненты и задавал все свойства (по аналогии с uic).
При этом совершенно не надо было думать, что куда линковать и прописывать инклуды, править файлы проекта, т.к. все делалось автоматически. "Компоненты" сами умели себя устанавливать и прописывать в проект.

На самом деле можно было и ручками создавать классы, но сама среда "обязывала". Новичку так легче, а потом уже он привык.

Вот этого и хочет господин Верес получить в Qt.
Записан
Bepec
Гость
« Ответ #27 : Февраль 07, 2012, 12:31 »

andrew.k верно описал, пример того, чего я хочу. (за исключением мелких несущественных деталей)

to BRE:
Попробуйте создать свой плагин, скомпилить, добавить в Designer и переместить на форму.
А далее просто зарелизить проект.

И представьте - без всяких действий с вашей стороны, к проекту будет прилинкована dll или lib вашего же плагина.
Записан
BRE
Гость
« Ответ #28 : Февраль 07, 2012, 12:39 »

to BRE:
Попробуйте создать свой плагин, скомпилить, добавить в Designer и переместить на форму.
А далее просто зарелизить проект.

И представьте - без всяких действий с вашей стороны, к проекту будет прилинкована dll или lib вашего же плагина.
В отличие от тебя я пробовал и поэтому знаю, что так не будет. Ты хотя бы примеры посмотрел бы...
Записан
Bepec
Гость
« Ответ #29 : Февраль 07, 2012, 12:45 »

У меня лежит рабочая сборка, забирающая данные с репозитория, инсталлирующая их в Designer.
При проверке на виртуальной машине(чистой), проект(простенький проект, использующий плагин) собрался в релизе.
При запуске на требуемой машине (производственный компьютер) имеется весь необходимый функционал.

Вопрос: где же я обманул Qt, или себя? (на виртуалку попал плагин, исходный код программы и чистый Qt SDK).
Записан
Страниц: 1 [2] 3 4 5   Вверх
  Печать  
 
Перейти в:  


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