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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: C# и Qt  (Прочитано 17970 раз)
Exproment
Гость
« : Январь 23, 2012, 22:07 »

Имеется уже написанные за долгие годы проект на .Net, причем проект кроссплатформенный.. использует до жопы различных модулей, библиотек и т.д. в общем все как полагается... А вот интерфейс у него к сожалению оставляет желать лучшего... В связи с чем возникла идея - подключить к проекту Qt, что даст возможность создавать красивые и удобные интерфейсы. В то время как основной функционал релаизовывать все также на шарпе.

Не секрет что разрабатывать приложния под шарпами проще и удобнее(только не надо троллить мол это не так.. раз сама Microsoft такого мнения, то это не обсуждается))) ). Но некоторые вещи по сравнению с Qt реализовывать крайне неудобно.

Ну так собственно сам философский вопрос: как насчет связки C++/Qt + C# ?
Записан
alexman
Гость
« Ответ #1 : Январь 23, 2012, 22:24 »

Зря ты это затеял Подмигивающий
Записан
mutineer
Гость
« Ответ #2 : Январь 23, 2012, 23:05 »

Да, не надо тут троллинга))
Записан
popper
Гость
« Ответ #3 : Январь 23, 2012, 23:12 »

Т.е. вопрос в том, можно ли подключить в GUI приложение, написанное с использованием Qt, библиотеку, написанную на C# и собранную с зависимостями от .Net ?
Записан
Exproment
Гость
« Ответ #4 : Январь 23, 2012, 23:18 »

НУ собственно вопрос не в том можно-ли.. согласно этому:

Код
CSS
В .Net код написанный на любом другом языке - C#,C++, VB компилируется в код на промежуточном языке. Что делает языки способными к взаимодействию в невиданной до сих пор мере

Полюбому можно.. вопрос в том "как" и стоит ли )
Записан
Exproment
Гость
« Ответ #5 : Январь 23, 2012, 23:54 »

Собственно ответ на вопрос "как" найден:

Код
C++ (Qt)
Если необходимо чтобы код C++ исполнялся в среде .Net, можно поместить в начало исходного кода следующую строку:
 
#using <mscorlib.dll>
 
Можно также передать флаг компилятору /CLR
получается для исполнения всех qt библиотек под .NET необходим лишь небольшой скриптик, который в каждый файлик с исходным кодом добавит такую строчку(для изврата) ну или просто собрать как "/CLR"... после чего собираем... и на уровне msIL их можно связывать...

Конечно имея при этом некоторые ограничения от .Net'а.

остался вопрос стоит ли ? )
« Последнее редактирование: Январь 24, 2012, 00:58 от Exproment » Записан
_OLEGator_
Гость
« Ответ #6 : Январь 24, 2012, 08:54 »

а использовать WPF для интерфейса, не?
Записан
Sahab
Гость
« Ответ #7 : Январь 25, 2012, 03:44 »

Цитировать
только не надо троллить мол это не так.. раз сама Microsoft такого мнения, то это не обсуждается)))
улыбнуло...
а если они скажуть что какать стоя удобней - Вы им поверите?

Цитировать
Не секрет что разрабатывать приложния под шарпами проще и удобнее
Цитировать
Но некоторые вещи по сравнению с Qt реализовывать крайне неудобно.
что же тогда Вам удобней реализовывать на Qt, если разрабатывать проще под до-диезом?)
не кажутся ли взаимоисключающими эти 2 предложения?)
Записан
Sahab
Гость
« Ответ #8 : Январь 25, 2012, 03:45 »

Собственно ответ на вопрос "как" найден:

Код
C++ (Qt)
Если необходимо чтобы код C++ исполнялся в среде .Net, можно поместить в начало исходного кода следующую строку:
 
#using <mscorlib.dll>
 
Можно также передать флаг компилятору /CLR
получается для исполнения всех qt библиотек под .NET необходим лишь небольшой скриптик, который в каждый файлик с исходным кодом добавит такую строчку(для изврата) ну или просто собрать как "/CLR"... после чего собираем... и на уровне msIL их можно связывать...

Конечно имея при этом некоторые ограничения от .Net'а.

остался вопрос стоит ли ? )
сомневаюсь что это Вам поможет.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #9 : Январь 25, 2012, 19:17 »

Не стоит и начинать. Рисуй интерфейсы на dotNet. Использовать Qt только для того, "чтоб было" не стоит.
Записан
Exproment
Гость
« Ответ #10 : Январь 26, 2012, 17:07 »

что же тогда Вам удобней реализовывать на Qt, если разрабатывать проще под до-диезом?)
не кажутся ли взаимоисключающими эти 2 предложения?)
казалось-бы... но нет )))) простой пример: в .NEt версии Mono ужасный драйвер для работы с Б.Д. который поддерживает лишь простейшие запросы... в Windows такой проблемы нет...в то время как на Qt очень даже неплохие драйверы... ну это именно при работе с Oracle было замечено )  Результат: построить хорошую, кроссплатформе систему администрирования под дот Нетом.. крайне... невозможно )

 
сомневаюсь что это Вам поможет.
ну если не поможет... то http://developer.qt.nokia.com/doc/qt-4.8/activeqt-dotnet.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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