Russian Qt Forum

Qt => Общие вопросы => Тема начата: Exproment от Январь 23, 2012, 22:07



Название: C# и Qt
Отправлено: Exproment от Январь 23, 2012, 22:07
Имеется уже написанные за долгие годы проект на .Net, причем проект кроссплатформенный.. использует до жопы различных модулей, библиотек и т.д. в общем все как полагается... А вот интерфейс у него к сожалению оставляет желать лучшего... В связи с чем возникла идея - подключить к проекту Qt, что даст возможность создавать красивые и удобные интерфейсы. В то время как основной функционал релаизовывать все также на шарпе.

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

Ну так собственно сам философский вопрос: как насчет связки C++/Qt + C# ?


Название: Re: C# и Qt
Отправлено: alexman от Январь 23, 2012, 22:24
Зря ты это затеял ;)


Название: Re: C# и Qt
Отправлено: mutineer от Январь 23, 2012, 23:05
Да, не надо тут троллинга))


Название: Re: C# и Qt
Отправлено: popper от Январь 23, 2012, 23:12
Т.е. вопрос в том, можно ли подключить в GUI приложение, написанное с использованием Qt, библиотеку, написанную на C# и собранную с зависимостями от .Net ?


Название: Re: C# и Qt
Отправлено: Exproment от Январь 23, 2012, 23:18
НУ собственно вопрос не в том можно-ли.. согласно этому:

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

Полюбому можно.. вопрос в том "как" и стоит ли )


Название: Re: C# и Qt
Отправлено: Exproment от Январь 23, 2012, 23:54
Собственно ответ на вопрос "как" найден:

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

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

остался вопрос стоит ли ? )


Название: Re: C# и Qt
Отправлено: _OLEGator_ от Январь 24, 2012, 08:54
а использовать WPF для интерфейса, не?


Название: Re: C# и Qt
Отправлено: Sahab от Январь 25, 2012, 03:44
Цитировать
только не надо троллить мол это не так.. раз сама Microsoft такого мнения, то это не обсуждается)))
улыбнуло...
а если они скажуть что какать стоя удобней - Вы им поверите?

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


Название: Re: C# и Qt
Отправлено: Sahab от Январь 25, 2012, 03:45
Собственно ответ на вопрос "как" найден:

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

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

остался вопрос стоит ли ? )
сомневаюсь что это Вам поможет.


Название: Re: C# и Qt
Отправлено: xokc от Январь 25, 2012, 19:17
Не стоит и начинать. Рисуй интерфейсы на dotNet. Использовать Qt только для того, "чтоб было" не стоит.


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

 
сомневаюсь что это Вам поможет.
ну если не поможет... то http://developer.qt.nokia.com/doc/qt-4.8/activeqt-dotnet.html (http://developer.qt.nokia.com/doc/qt-4.8/activeqt-dotnet.html)