LINUX.ORG.RU

новичек - С++


0

0

Какими средствами нужно пользоваться чтобы создать gui приложение на с++ не используя kDevelop?
Этот мастер, и куча файлов... бррр...

Под винду я программил на Visual C++ и на BCB.
И в линухе програмить хочется.
anonymous

Re: новичек - С++

hex editor в руки м всё! :)

glade погугли, если интересен не только кути

Pi ★★★★★ ()
Ответ на: Re: Re: новичек - С++ от Sveta_F

Re: Re: Re: новичек - С++

Ага, спасибо. Так, берем kwrite и пишем:

hdc = "создать окно с кнопкой"

Вот так, да?

Блин, я ж сказал - новичек. Какими библиотеками пользоваться, и все такое прочее...

anonymous ()
Ответ на: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: новичек - С++

Не, не так!

Вот так:

#include<qwidget.h>
#include<qapplication.h>
#include<qpushbutton.h>

int main(int argc, char** argv)
{
QApplication a(argc,argv);
QWidget* w = new QWidget;
QPushButton* btn = new QPushButton(w);
btn->show();
a.setMainWidget(w);
w->show();
return a.exec();
}

g++ -o first main.cpp

Вчитайся - все очень просто!

Удачи.

anonymous ()
Ответ на: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: новичек - С++

В Qt Assistant есть хорошо прокомментированные примеры.

Qt Assistant->Getting Started->Tutorial #1, Tutorial #2

Sveta_F ()
Ответ на: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: новичек - С++

Выучи tk и не парься, там окно уже при старте создается.

anonymous ()
Ответ на: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: новичек - С++

Ну просто очень просто. Там, где можно обойтись двумя строчками, пишем десять.

wm title . {Привет, Tk!} pack [button .b1 -text {OK} -command exit]

Заметь, что данный пример функциональнее твоего примера.

anonymous ()
Ответ на: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: новичек - С++

Ну просто очень просто. Там, где можно обойтись двумя строчками, пишем десять.

wm title . {Привет, Tk!}
pack [button .b1 -text {OK} -command exit]

Заметь, что данный пример функциональнее твоего примера.

anonymous ()
Ответ на: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: новичек - С++

http://www.gtk.org/tutorial/

Сделай файл следующего содержания:

#include <gtk/gtk.h>
static void hello( GtkWidget *widget,
                   gpointer   data )
{
    g_print ("Hello World\n");
}

static gboolean delete_event( GtkWidget *widget,
                              GdkEvent  *event,
                              gpointer   data )
{
    g_print ("delete event occurred\n");
    return TRUE;
}

static void destroy( GtkWidget *widget,
                     gpointer   data )
{
    gtk_main_quit ();
}

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;
    GtkWidget *button;
    gtk_init (&argc, &argv);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    g_signal_connect (G_OBJECT (window), "delete_event",
		      G_CALLBACK (delete_event), NULL);
    g_signal_connect (G_OBJECT (window), "destroy",
		      G_CALLBACK (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello World");
    g_signal_connect (G_OBJECT (button), "clicked",
		      G_CALLBACK (hello), NULL);
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
			      G_CALLBACK (gtk_widget_destroy),
                              G_OBJECT (window));
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_widget_show (button);
    gtk_widget_show (window);
    gtk_main ();
    return 0;
}

Сохрани его как "prog.c".

Выполние команду:
gcc -g prog.c -o prog `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`

И запусти:
./prog

hapchu ★★ ()
Ответ на: Re: Re: Re: Re: Re: новичек - С++ от hapchu

Re: Re: Re: Re: Re: Re: новичек - С++

тока ивенты надо бы отсюда выкинуть, а то по сравнению со светкиным примером очень сложно получается :)

Pi ★★★★★ ()

Re: новичек - С++

<бред>

using System; using Gtk;

class MainClass { public static void Main(string[] args) { Application.Init (); new MyWindow (); Application.Run (); } }

</бред>

:-D

Pi ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

Tk --- это Widget ToolKit для tcl. Tcl --- скриптовый язык, похожий на unix shell, но имеющий ряд преимуществ над ним в плане работы со списками, массивами и подстановкой команд.

Какие преимущества над c++ и qt? Простота, скорость (как разработки, так и выпонения), меньший размер, бесплатность на всех поддерживаемых платформах.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

>Простота, скорость (как разработки, так и выпонения),

C каких ето пор скорость выполнения Tcl/Tk была больше чем C++/Qt???

Tcl-редкий тормоз.

perl/gtk+ ито лучше.

cvv ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от cvv

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

> C каких ето пор скорость выполнения Tcl/Tk была больше чем C++/Qt???

В смысле скорость выполнения задач, для которых он предназначен: показ данных для просмотра-редактирования, обработка символьных данных. Я же не предлагаю на нем что-то фундаментальное считать и пропускать через него гигабайты данных.

> Tcl-редкий тормоз.

Это высказывание оставим на твоей совести. Хотя, может быть ты назовешь задачи, на которых это проявляется.

> perl/gtk+ ито лучше.

У перла, к сожалению, нет тиклевской простоты, и от его сахара иногда приторно становится.

На gtk никогда не писал, но знаю, что для tcl тоже есть привязка: http://www.dr-baum.net/gnocl/ .

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

>> Tcl-редкий тормоз.

>Это высказывание оставим на твоей совести. Хотя, может быть ты назовешь задачи, на которых это проявляется.

Как-то встречал простейший Tcl/Tk wrapper вокруг какой-то проги который только позволял наглядно передать оновной проге необходимые ключи и запустить её на выполнение.

тоесть никаких сверх сложных задач.

Так вот етот враппер был самой тормонутой прогой на машине. Особенно в плане отрисовок/перерисовок.

cvv ★★★★★ ()

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

Ничего не понял. При передаче нескольких ключей наступали дикие тормоза? Можно подробнее, сколько данных, откуда, куда поступали, как определили узкое место? Что-то не верится, потому как современные версии tcl/tk чувствуют себя неплохо и на пнях с 16 мегабайтами.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

>Ничего не понял. >При передаче нескольких ключей наступали дикие тормоза?

Почти так. враппер позволявший выбрать и передать десяток ключей довольно сильно тормозил по сравнению с основной прогой и другими более сложными/тяжёлыми прогами.

>Можно подробнее, сколько данных, откуда, куда поступали, как определили узкое место?

>Что-то не верится, потому как современные версии tcl/tk чувствуют себя неплохо и на пнях с 16 мегабайтами.

версия Tcl была гдето трёхгодичной давности, машина целерон чуть старее.

Прога была враппером к какому-то гейму из стандартной поставки толи Мандраки толи Редхата.

cvv ★★★★★ ()

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

>Понятно. Когда-то, где-то, что-то...

Да но отношение сформировалось на ближайшие лет ...

Никогда не думал что такой простой скрипт может быть таким тормознутым.

>Хотя такая ситуация вполне возможна, писать плохо можно на чем угодно.

Не думаю что дело обстояло в плохом программисте.

cvv ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

>>Спасибо за советы. Буду изучать Qt. Вроде сразу понятно...

Лучше Glade + libglade + libxml + gtk + glib и больше тебе ничего не понадобится.

http://www.top-kniga.ru/Scripts/pic.cgi?pin=920403021

x86 ★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от x86

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

Кстати, glade с русской локалью меня приколол: он не только именует виджеты по-русски, но и пытается создать с этими именами сишные функции. Версию не помню, та что в первой федоре шла. Но в плане расположения элементов на форме понравился, кутешному дизайнеру до него далеко.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

> Кстати, glade с русской локалью меня приколол: он не только именует виджеты по-русски, но и пытается создать с этими именами сишные функции.

есть такая дурь. afair, лечится - LC_MESSAGES=C glade

это все - придурковатый перевод .po файла.

ananas ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++ от ananas

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: новичек - С++

IMHO, у гнома и компании все так, часть сделают отлично, а часть так паршиво, что этими программами приходится пользоваться ограниченно, либо вообще не пользоваться.

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