LINUX.ORG.RU

Основы GTK+, часть 2: Как использовать GTK+.


0

0

Это вторая статья из цикла статей под общим названием "Основы GTK+";. На примере простого приложения GTK+, написанного на языке C, а затем того же приложения, написанного на языках Python и C#, она познакомит вас с основами программирования с использованием GTK+. В конце вы найдете обзор нескольких полезных программ, которые помогут разрабатывать приложения GTK+ лучшие и быстре

>>> Подробности



Проверено: Shaman007 ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Автору статей и переводчику огромное спасибо! Полезное дело делаешь, в отличие от... :)

random_code ★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> лучшие и быстре

Запарили опечатки на ЛОР...

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Если учесть, что у gtk проблеммы не только с русскоязычной документацией, но и с англоязычной, то появление таких статей не может не радовать. Но главное, чтобы серия статей продолжилась. Действительно нужна человеческая документация о работе с более сложными виджетами gtk. Обучаться, вникая в исходный код реальных программ на gtk - это не дело.

mr ★★ ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от anonymous

Re: Основы GTK+, часть 2: Как использовать GTK+.

QT - либа, безусловно, хорошая, вот только не unix-way оно... И дело не в hollywars KDE vs GNOME. Есть что-то на QT аналогичное XFCE или тому же ROX, где много чего писано на модном нынче тормозе-Python'e (PyGTK), и тем не менее, unix-way дает о себе знать относительной легковесностью и скоростью работы?..

anonymous ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от anonymous

Re: Основы GTK+, часть 2: Как использовать GTK+.

понятно, что на питоне не надо писать системы обработки больших объёмов данных или парсинга больших xml-ок, а вот несложный гуй а-ля инсталлятор, вполне сойдёт. Как говорится, "не люблю я кошек(питонов)" - "ты просто не умеешь их готовить" (с). Что в гтк мне нравится, что в минорных версиях api практически не меняется, в отличие от qt, и гтк таким сырым не выпускают:)

anonymous ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от anonymous

Re: Основы GTK+, часть 2: Как использовать GTK+.

Может, qt и не unix-way... Хотя, на мой взгляд, главное - чтобы было легко в освоении/применении и без свирепых тормозов. С этой задачей эта либа вроде как справляется очень хорошо :)

anonymous ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от anonymous

Re: Основы GTK+, часть 2: Как использовать GTK+.

К чести троллтеховцев нужно отметить, что если они что-то и меняют, то: 1) детально описывают изменения; 2) код, тем не менее, скомпилится и будет корректно работать (если брать две "соседних" версии библиотеки - некоторое время фича значится как deprecated, прежде чем исчезнуть).

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Проще сразу на wxWidgets писать. Хотя знание gtk никогда не помешает. Как и winapi...

ageless ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Да, ясный ответ на вопрос "почему не стоит использовать ГТК".

Альфекс с его анекдотами на Си просто мегапрофи...

Очень разочарован в ГТК.

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Кошмарик..

Qt рулит

rys ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Bookmarked! Автор молодец!

Makc ★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

гтк это хорошо.

Вот только после последнего апдейта стало все гтк-шное сильно тормозить:( что случилось даже не знаю

petrosha ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

GTK как раз документирован нормально и эта статья совсем не интересна. Действительно есть скажем так плохо документированные виджеты - вот про них статья будет полезнее. А еще лучше про bonobo.

x-term ★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

GTK+: button = gtk_button_new_with_label(_("Hello World")); Qt: button = new QPushButton(tr("Hello World"));

Это так, для сравнения.

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Плохая статья. И вот почему:

"hello, world" пишут вовсе не для того, чтобы объяснить, как именно работает код в данном окружении. Его пишут для того, чтобы *оттранслировать и запустить*. В том виде, в котором вся эта лабуда приведена в статье оттранслировать и запустить можно видимо только на машине, на которой и без этой статьи чего-то на gtk пишут.

Иначе говоря, первое о чём нужно говорить - это список пакетов, который нужно поставить. Второе - о том, как использовать imlib-config или pkg-config. Желательно привести рабочий Makefile. И *нужно* использовать стандартную локализацию (po), а не тихий бред посреди иероглифов.

А чего там в примере окнорисования будет - вопрос десятый. Чего надо, то и будет.

Так что если уж переводить, то http://www.gtk.org/faq и http://www.gtk.org/tutorial , а не пионерскую бредятину на тему "немного обо всём".

ignik ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Спасибо переводчику.

Понравилось про использование Glade.

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> Так что если уж переводить, то http://www.gtk.org/faq и http://www.gtk.org/tutorial , а не пионерскую бредятину на тему "немного обо всём".

Ну вот у нас с товарищем Makc'ом ещё года три назад идея появилась сделать gtk.org.ru как раз с таким наклоном. Пока стараний Макса хватило лишь на то, чтобы перевести вступление - http://gtk.org.ru/rus.html :-) У нас там ещё была мамба с некоторым количеством статей и новостей, но как-то оно всё загнулось. Хотя, по большому счёту, переводы на фиг не нужны. Было бы интересно сделать русскоязычный портал со статьями всё-таки. Своих сил вот не хватило - есть желание у кого-то ? ;)

hangy ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Написали бы такое по WINGs......

kraw ★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

>А теперь ещё выкачай clearlooks-cairo или blackrock из cvs, и почувствуй, как твой p4 превращается в z80.

делитесь травой с народом, вьюноша. Народ скажет вам спасибо

geek ★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

>С 2.6->2.8? Неудивительно

Я тоже сперва подумал, что дело в гтк+ 2.8

Когда не смог побороть тормоза, откатился обратно на 2.6, но версия новее чем была у меня. Тормоза остались. Так как система была обновлена полностью, то теперь фиг поймешь где именно грабли - в Х, в гтк или еще где. Вот народ говорит, что проблема с версией libtools которые линкуют ГТК программы как-то не правильно... надо попробовать.

petrosha ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> С 2.6->2.8? Неудивительно. А теперь ещё выкачай clearlooks-cairo или blackrock из cvs, и почувствуй, как твой p4 превращается в z80.

Это у вас в системе что-то не так. Перейдя в asp10 gtk 2.6->2.8, gnome 2.10->2.12, pango 1.8->1.10, поставив cairo-1.0 ну и естественно новые gtk2-engines с тем самым clearlooks-cairo - все просто летает. По ощущениям где-то быстрее, чем раньше, и уж точно нигде не медленнее.

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> Если учесть, что у gtk проблеммы не только с русскоязычной документацией, но и с англоязычной

Где вы их находите, проблемы?
Или все еще живы впечатления 95-го года?

ЗЫ: Вы еще на WinAPI документацию не видели :-)

Inserter ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от anonymous

Re: Основы GTK+, часть 2: Как использовать GTK+.

Наверное я пропустил сеанс массового ура-гипноза... У всех 2.8 работает быстрее, и только у меня медленнее, и на gentoo и на ubuntu. ;)

Midael ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

А вы связку cairo+glitz не пробывали?

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

Странно... обновил с 2.6 на 2.8 - стало тормозить. Недавно обновил на последнюю версию, кажется 2.8.9 - стало работать как раньше. Доктор, помогите мне!

lester_dev ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

IMHO, на GTK приятнее начинать писать GUI, чем на QT. Хотя бы потому что понимаешь, как всё работает и не задаёшься вопросом каким образом qmake создаёт кучу makefile'ов ;), и зачем нужен moc.

Правда последнее GTK тормозит.

Не знаю, это только у меня так или нет, но если firefox (использующий gtk) выдаёт диалог открыть/сохранить - я выбираю Open With -> Browse..., и набираю /usr/bin (чтобы добраться, скажем, да ark), то винчестер начинает угрожающе шуршать, и зависает на секунд 10, открывая список файлов в /usr/bin. :(

PashaKustov ★★ ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от PashaKustov

Re: Основы GTK+, часть 2: Как использовать GTK+.

> Не знаю, это только у меня так или нет, но если firefox (использующий gtk) выдаёт диалог открыть/сохранить - я выбираю Open With -> Browse..., и набираю /usr/bin (чтобы добраться, скажем, да ark), то винчестер начинает угрожающе шуршать, и зависает на секунд 10, открывая список файлов в /usr/bin. :(

как-то это странно. у меня допустим описанные операции проходят совершенно прозрачно. firefox 1.5 && gtk+-1.2.10nb8 и в /usr/bin порядка 500 файлов. машинка Впрочем не самая слабая.

// wbr

klalafuda ★☆☆ ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от klalafuda

Re: Основы GTK+, часть 2: Как использовать GTK+.

У меня тоже не очень слабая...

lnx@skywriter ~ $ ls -l /usr/bin/|wc -l
2508
lnx@skywriter ~ $ uname -a
Linux skywriter 2.6.14-gentoo-r6 #1 SMP PREEMPT Fri Dec 30 19:05:48 GMT 2005 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
lnx@skywriter ~ $ free
             total       used       free     shared    buffers     cached
Mem:       1033284    1016396      16888          0          0     716244
-/+ buffers/cache:     300152     733132
Swap:      4112600        252    4112348
lnx@skywriter ~ $ mount|grep xfs
/dev/sda1 on / type xfs (rw)
/dev/sda3 on /opt type xfs (rw,noatime)
/dev/sda4 on /home type xfs (rw,noatime)
/dev/sdb2 on /mnt/sdb2 type xfs (rw,noatime)
/dev/sdb3 on /mnt/sdb3 type xfs (rw,noatime)

PashaKustov ★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

По хорошему надо бы на gtkperf проверить на нескольких разных темах и выложить результаты. Жалко, что нет qtperf, можно было бы поставить точку в давних спорах qt vs gtk.

Midael ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> По хорошему надо бы на gtkperf проверить на нескольких разных темах и выложить результаты. Жалко, что нет qtperf, можно было бы поставить точку в давних спорах qt vs gtk.

Каким образом?

anonymous ()
Ответ на: Re: Основы GTK+, часть 2: Как использовать GTK+. от klalafuda

Re: Основы GTK+, часть 2: Как использовать GTK+.

>как-то это странно. у меня допустим описанные операции проходят совершенно прозрачно. firefox 1.5 && gtk+-1.2.10nb8 и в /usr/bin порядка 500 файлов. машинка Впрочем не самая слабая.

разве ФФ умеет использовать ГТК 1.х? Помоему нет. Если установлено только 1.х, то он работает вообще без ГТК, как и раньше.

petrosha ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

>Да как вам всем это удаётся? Обновлял с 2.6.4 до 2.8.6, скорость никак не изменилась.

:) Ну что за люди? Вечное "У меня работает, а вы можете убить себя оппол!"

Здесь же не ixbtшное WinVsLin. Никто не говорит, что проблемы именно в ГТК и не кричит по этому поводу "ГТК-Суксь". Но эффект наблюдается и не у одного человека. Хочется разобраться... Помогли бы лучше.

petrosha ★★★★★ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> разве ФФ умеет использовать ГТК 1.х? Помоему нет. Если установлено только 1.х, то он работает вообще без ГТК, как и раньше.

читаем выше: ps: "ессно s/gtk+-1.2.10nb8/gtk2+-2.8.10"

// wbr

klalafuda ★☆☆ ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

там в примере на японском написано sekainikonnitiha. Может, правильнее будет konnitiha,sekai?

anonymous ()

Re: Основы GTK+, часть 2: Как использовать GTK+.

> Своих сил вот не хватило - есть желание у кого-то ? ;)

Есть огромное желание, нет времени :-(. А в чем основная задача -- просто русскоязычный перевод? А есть решение, как следить за изменениями оригинала?

Я бы подрядился, пишите на eugine на aroks в kiev в ua

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