LINUX.ORG.RU

Выбор графического тулкита.


0

0

Народ, надо написать редактор специфичного бинарного файла. Проблема в том что я вообщем-то визуальным программирование практически не занимался. На работе WEB клепаю и явовский swing знаю. Xотелось выбрать чего-нибудь поприличней, желательно Си и не сложный. Запрашиваю ссылки на хорошие тулкиты с примерами построения интерфейсов.

anonymous

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

one_more_hokum ★★★
()

Если UI простой, то Tcl/Tk. Если достаточно сложный, состояние которого зависит от нескольких файлов, то лучше что-нибудь immediate-mode, вроде Hybrid. Не придётся заморачиваться с обновлением UI в котором вечно находится тысяча и один баг.

Ели нечто среднее, наверно можно посоветовать Qt, но я с ним знаком только по вышележащим комментам.

naryl ★★★★★
()
Ответ на: комментарий от naryl

> то лучше что-нибудь immediate-mode, вроде Hybrid

wtf? Угостите ссылками?

anonymous
()

Tk. можно как Tcl/Tk, а можно и напрямую через C API

jtootf ★★★★★
()

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

anonymous
()

А Java не устраивает?

Если только Си — то без вопросов Gtk+Glade. Если не только Си — то mono+gtk#. В крайнем случае PyGTK.

anonymous_num_0
()

Да, и всех выше отписавшийся даже не слушай. Только gtk, все остальное уныло.

anonymous_num_0
()

>явовский swing знаю

Если твоя цель - написать редактор (а не "освоить что-нибудь этакое"), то swing и используй. По-моему весьма приличный тулкит.

anonymous
()

Послушаю того, кто даст вменяемую ссылку на поднятие небольшого проекта, чуть круче Hello World(примеры в студию). Пока склоняюсь к Тк, поскольку я с ним знаком.

Qt наверно не возьму, оно тормозило :( :( :(

anonymous
()
Ответ на: комментарий от anonymous

> А вот такие детские проблемы в Tк уже решены?

> http://img.flashtux.org/img132697f24ae0x98477479.png

> Ъ: там показаны проблемы с уникодом в Tk.

Это не проблема уникода в Тк, а проблема отрисовки шрифта, поставь другой шрифт и будет тебе счастье.

anonymous
()
Ответ на: комментарий от anonymous

> Если твоя цель - написать редактор (а не "освоить что-нибудь этакое"), то swing и используй.

Моя цель освоить что-нибудь этакое, на примере написания редактора для специфичных файлов.

Не спорю, что на свинге, я бы его давно уже написал бы.

anonymous
()
Ответ на: комментарий от anonymous

Re^2: Выбор графического тулкита.

>> А вот такие детские проблемы в Tк уже решены? Ъ: там показаны проблемы с уникодом в Tk.

> Это не проблема уникода в Тк, а проблема отрисовки шрифта, поставь другой шрифт и будет тебе счастье.


В любом случае, эта проблема решена в Tk 8.5.

gaa ★★
()
Ответ на: комментарий от anonymous

Re^2: Выбор графического тулкита.

> Qt наверно не возьму, оно тормозило :( :( :(

это в сравнении со свингом кутя тормозила? Не верю!

gaa ★★
()
Ответ на: комментарий от anonymous

> Послушаю того, кто даст вменяемую ссылку на поднятие небольшого проекта, чуть круче Hello World(примеры в студию).

Научный калькулятор сойдет:

http://gazette.linux.ru.net/lg78/articles/rus-krishnakumar.html

(слезно умоляя) Ну пожалуйста возьми gtk...

anonymous_num_0
()
Ответ на: Re^2: Выбор графического тулкита. от gaa

>> Qt наверно не возьму, оно тормозило :( :( :(

>это в сравнении со свингом кутя тормозила? Не верю!

это не сравнивал, сравнивал с gtk на PII-233, из-за нехватки места на этом устаревшем монстре пришлось отказаться от KDE, Qt приложений, а всё потому что хуже работали, чем gtk.

Суть вопроса не в этом!!!

anonymous
()
Ответ на: комментарий от anonymous_num_0

anonymous_num_0, благодарствую, видимо это то, что надо ;)

anonymous
()
Ответ на: комментарий от anonymous

Re^4: Выбор графического тулкита.

> Суть вопроса не в этом!!!

А по сути тебе уже не один раз сказали: Tk.

gaa ★★
()
Ответ на: комментарий от anonymous

Re^2: Выбор графического тулкита.

> Послушаю того, кто даст вменяемую ссылку на поднятие небольшого проекта, чуть круче Hello World(примеры в студию). Пока склоняюсь к Тк, поскольку я с ним знаком.

http://wiki.tcl.tk/486 -- там от хелловорлда и далее

gaa ★★
()
Ответ на: комментарий от anonymous

>Не заморачивайся со всеми предложенными выше и ниже наворотами - просто возьми лазарус да накидай интерфейс какой тебе надо. Недавно как раз и свежую версию анонсировали.

Согласен - самый простой и практичный вариант. Сам пользуюсь. Однако там тоже есть баги, уже добавил в багтреккер. Ошибка идёт с 0.9.24 повторяется в Линухе и венде:

http://www.freepascal.ru/forum/viewtopic.php?f=5&t=3735

anonymous
()
Ответ на: комментарий от anonymous

>О, отлично, теперь буду разбираться ц Tcl/Tk, что бы писать gui для своих разработок на нем. В топку монстров.

есть, есть ещё разумные анонимусы на ЛОРе :)

jtootf ★★★★★
()
Ответ на: комментарий от generatorglukoff

Раз пошла такая пьянка. Такой вопрос.

Нужно реализовать простое приложение. Пару окон, два для информации, в третьем рисуется график, получаются события по таймеру.( вроде простейшей реализации системы Real Time в рамках КП.). Т.к. более менее(хотя это тоже спорно =) ) знаком с C, то связаться с QT можно, но как то особо нет времени, ибо писать быдлокод не люблю, а разобраться в деталях в C++, как уже сказал, пока нету времени. До этого момента думал, что QT - мой единственный выход. Но... я зыбыл про TCL/Tk. До этого писал пару скриптов на wish+TCL/Tk, с графикой дел не имел. Собственно, насколько возможно выполнение всего того, что я описал именно на C API+Tcl TK? насколько я понимаю, события по таймеру тоже присутствуют, т.е. с этим проблем не будет. Вопрос именно, насколько, что ли "сложнее" будет создать графику?

fukazzz
()
Ответ на: комментарий от fukazzz

Само ядро, само собой будет на чистом C. "Проблемы" именно с графикой. Да и насколько оно портабельно? Ибо нужно будет пускать на машинах как с Linux на борту так и с WinXp.

fukazzz
()
Ответ на: комментарий от fukazzz

>Собственно, насколько возможно выполнение всего того, что я описал именно на C API+Tcl TK? насколько я понимаю, события по таймеру тоже присутствуют, т.е. с этим проблем не будет. Вопрос именно, насколько, что ли "сложнее" будет создать графику?

на чём основаны сомнения? Tk для указанных целей подходит великолепно, он для решения подобных задач и создавался

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

Сомнения (были?) основаны на том, что я ранее думал, что Tcl/Tk только для скриптов и "простых" граф. приложений, аля XDM promt. ;)

fukazzz
()
Ответ на: комментарий от fukazzz

>Да и насколько оно портабельно? Ибо нужно будет пускать на машинах как с Linux на борту так и с WinXp

оно очень портабельно. http://wiki.tcl.tk/487 - вот касательно переносимости и использования графических системных библиотек

jtootf ★★★★★
()
Ответ на: комментарий от fukazzz

>Сомнения (были?) основаны на том, что я ранее думал, что Tcl/Tk только для скриптов и "простых" граф. приложений, аля XDM promt. ;)

а что "сложного" должно присутствовать в требуемом GUI?

jtootf ★★★★★
()
Ответ на: комментарий от fukazzz

>Пару окон, два для информации

голый Tk, возможно BWidgets/IWidgets

>в третьем рисуется график

я использовал http://blt.sourceforge.net/ (graph) в GUI для программы имитационного моделирования численности популяций, вывод в реальном времени около пятидесяти графиков на P-100MHz работал без особых проблем

jtootf ★★★★★
()
Ответ на: комментарий от fukazzz

> возможно BWidgets/IWidgets

> Вау! blt вроде то, что нужно! спасибо!


Добавлю ложку дёгтя: iwidgets и blt не работают (по крайней мере на текущий момент) с Tk 8.5. Посему лучше смотреть на tix, tile, тот же bwidget и plotchart.

gaa ★★
()
Ответ на: комментарий от gaa

>Добавлю ложку дёгтя: iwidgets и blt не работают (по крайней мере на текущий момент) с Tk 8.5

во-первых Tk 8.5 ему для решения задачи не нужен, последнего из 8.4 ветки будет куда как достаточно. а во-вторых, вместо добавления ложек дёгтя можно предложить подпилить BLT/IWidgets для работы с Tk 8.5

jtootf ★★★★★
()

Если C, то GTK, естественно.

Davidov ★★★★
()

В своё время для почти аналогичной задачи - редактора прошивок для микроконтроллеров (правит некоторые переменные в hex файле) остановился на ltk - common lisp'овская либа для работы с tk/tcl.

marsijanin ★★
()
Ответ на: комментарий от jtootf

Интересно. http://wiki.tcl.tk/18167 Впринципе, мне всего то делов нужно, как на 1-м графике(самом первом). Только таких графиков должно быть n-штук(где-то 6-10, по количеству обрабатываемых задач). Можно будет их влепить на 1 canvas? или предётся создавать n штук canvas?

fukazzz
()
Ответ на: комментарий от fukazzz

>Можно будет их влепить на 1 canvas? или предётся создавать n штук canvas?

можно влепить, можно создать. как хочешь :)

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>> Добавлю ложку дёгтя: iwidgets и blt не работают (по крайней мере на текущий момент) с Tk 8.5

> во-первых Tk 8.5 ему для решения задачи не нужен, последнего из 8.4 ветки будет куда как достаточно.


8.5 нужен там, где может встретиться хоть один лейбл на русском.

> а во-вторых, вместо добавления ложек дёгтя можно предложить подпилить BLT/IWidgets для работы с Tk 8.5


Я даже приблизительно не могу оценить сложность этой задачи. Но, удя по тому, что это ещё никем не сделано, подозреваю, что она непроста.

gaa ★★
()
Ответ на: комментарий от fukazzz

> Вообщем, нашёл такую замечательную книжку

в быдлоchm?

anonymous
()
Ответ на: комментарий от fukazzz

Раз ядро на чистом С, то посмотри на Vala. Недавно новость проскакивала. Vala - это язык, пхожий на C#, который транслируется в чистый С. На нем очень удобно писать GTK+ UI.

Ian ★★
()
Ответ на: комментарий от gaa

> 8.5 нужен там, где может встретиться хоть один лейбл на русском.

А в чем проблема у 8.4 с русским? Вроде, уникод и там есть.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.