Разработка GUI под Linux
может Qt лучше?
Ну всмысле езе какие осмысленные варианты если есть, со своими плюсами и минусами, я бы мб рассмотрел и их в качестве варианта
Вот ее тоже счас немножко зырю. Но я так как будто прочитал что кт аля заточена под кде, а я так чуствую что нас больше гном интересует. в лабе по крайней мере кде нет Хотя дома у меня раньше кде стояла, и вроде больше нравилась.
Glade 3 не советую, т.к. он автоматически код не генерит, и приходится взбатывать методы функционирования окошек с помощью гтк, что, имхо, нафек не нужно.
кде отстой
на ООП как-то приятнее писать
Есть ещё Lazarus - среда для разработки гуи на Free Pascal. Но в ней нормально поддерживается только gtk1
зы. язык разработки будет с++, т.к. уже много кода есть под винду, но он более менее разделен на часть гуи и мат часть, и мат часть сделана чтобы быть более менее переносимой.
Точно знаю, что если Qt проект распостраняется под gpl и бесплатно, то использование бесплатно.
тамГде именно?
PS с++ - отстой
А GTK с компилятором с++ не получится использовать?
gtkmm
Можете ли посоветовать какую среду разработки. Раньше использовал емакс + мэкфайл, но это очень давно было, счас есть ли чтолибо похожее на виз.студию?
А GTK с компилятором с++ не получится использовать?с чего бы это?
получится конечно
Чижу читаю чо есть, начиная с фака по гткмм, там у них с кт холивар, Получается гткмм всем лучше
Можете ли посоветовать какую среду разработки. Раньше использовал емакс + мэкфайл, но это очень давно было, счас есть ли чтолибо похожее на виз.студию?Под Qt есть KDevelop и плагин для Eclipse. Имхо, Эклипс лучше. Для gtk нет ничего такого. Могу только дать совет нарисовать формочку в glade2, сгенерить код и потом использовать любимый текстовый редактор/IDE
Всем болшое спасибо, основные слова куда гуглить нашел
Точно знаю, что если Qt проект распостраняется под gpl и бесплатно, то использование бесплатно.а если в закрытую программу (сомневаюсь, что топикстартер GPL пишет то жопа.
Ботай лиценции
а если в закрытую программу (сомневаюсь, что топикстартер GPL пишет то жопа.Вообще конечно, по идее это и не моя попа будет в целом, я ж только разраб Но хотелось бы всеже знать что там к чему, мб посоветуете где по быстрому прочитать уловить основные моменты?
В России за этим серьезно следят?
Но хотелось бы всеже знать что там к чему, мб посоветуете где по быстрому прочитать уловить основные моменты?Я их сам толком не знаю, только в общих чертах. Прочитай внимательно лиценцию
вобщем поставил я себе fedora core 6, со всеми возможными бонусами.
Кажется сюда вошел и эклипс и qt и еще чтото. Есть и глайд (говорит что 2.12.1 не знаю, на офиц. сайте глайд такой версии нет) и вроде gtk+ я так понимаю по умолчанию тоже есть.
Вобщем вроде все есть, ничего не конфигурил, начал с программы найденной в нете:
#include <gtk/gtk.h>
#include <libintl.h>
#define _(x) gettext (x)
#define N_(x) (x)
#define GETTEXT_PACKAGE "gtk-hello"
#define LOCALEDIR "mo"
static char *greetings[] = { "Hello World",
"Witaj świecie",
"世界に今日は" };
static char* choose_greeting
{
return greetings[g_random_int_range (0, G_N_ELEMENTS (greetings];
}
static void cb_button_click(GtkButton *button, gpointer data)
{
GtkWidget *label = GTK_WIDGET(data);
g_assert(label != NULL);
gtk_label_set_text(GTK_LABEL (label choose_greeting;
}
static gboolean cb_delete(GtkWidget *window, gpointer data)
{
gtk_main_quit;
return FALSE;
}
int main (int argc, char *argv[])
{
GtkWidget* window, *button, *label, *vbox;
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
gtk_init(&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label (_("Hello World";
label = gtk_label_new (choose_greeting;
gtk_container_add(GTK_CONTAINER (window vbox);
gtk_container_add(GTK_CONTAINER (vbox label);
gtk_container_add(GTK_CONTAINER (vbox button);
g_signal_connect(G_OBJECT (window "delete-event",
G_CALLBACK(cb_delete NULL);
g_signal_connect (G_OBJECT (button "clicked",
G_CALLBACK (cb_button_click label);
gtk_widget_show_all(window);
gtk_main;
return 0;
}
скомпилировал командой
>gcc -Wall -g gtk_pril.c -o gtk_pril `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
получил файл, после запуска получаю пустое (ГУИшное) окошко, в шелл при этом выводится
[residentevil GTK]$ ./gtk_pril
(gtk_pril:32183): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed
(gtk_pril:32183): GLib-GObject-WARNING **: invalid uninstantiatable type `<unknown>' in cast to `GtkContainer'
(gtk_pril:32183): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed
(gtk_pril:32183): GLib-GObject-WARNING **: invalid uninstantiatable type `<unknown>' in cast to `GtkContainer'
(gtk_pril:32183): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed
Вроде бы гдето чтото не так, подскажите что плз
Ну дык, нет у тебя dev-библиотек. Как там, в федорке: yum
Разве раз программа скомпилировалась, это не значит что все библиотеки были на месте?
С yum вроде познакомили
зы, а команда для компиляции хорошая? Вроде в нете пишут что надо использовать некий мэкфайл, но только ведь мекфайл я так понимаю должна какаято программа (или я сам) создать вначале, а если я набираю код си, то откуда взять мэкфайл.
зы
Нашел ошибку в программе, оказалось что там не создан vbox
теперь я практически familiar с гтк
эдакий диалог сам с собой
Пеши web интерфейс. Это модно.
Оставить комментарий
vertyal17
Салют. Вот тут в лабе решили один продукт "подкрасить" под линукс, снабдив ее каким мелким GUI. Правильно ли я считаю что GTK+ рулит (В лабе стоит гном). И есть ли какие решения, для разрабоки кросс-иксовых гуи?Спасибо Может слегка ламерский вопрос, но никогда еще не втыкал как гуи под линукс писать.