LINUX.ORG.RU

IDE для GTK 3. ЯП C/C++/C#

 , ,


0

2

Следующая проблема: хочу научиться программировать в Linux (у самого стоит Debian, так что кодить в виртуалке не особо хочется).Встала вопрос: какую IDE лучше выбрать?
Однозначно GTK 3. Сам смотрю в сторону Anjuta + Glade. Emacs не предлагать!
И еще вопрос, как осуществить поддержку С++? Скорее всего прийдется возиться с классами.
Также прошу ссылки на подходящую литературу. Желательно на русском. Если у кого есть элементарные программы, прошу скинуть для примера.

Раньше программиравал в Delphi, разумеется под винду (ну что поделать... сегодня в универах тока винде и учат). Так что в программировании в Linux я чайник(

★★★

Последнее исправление: Ignatov (всего исправлений: 1)
Ответ на: комментарий от rinep

что именно будет быстрее работать? измение цвета текста лейбла от нажатия кнопочки? очень серьёзный аргумент, да.

nanoolinux ★★★★
()
Ответ на: комментарий от nanoolinux
#include <QApplication>
#include <QPushButton>
     
int main(int ac, char *av[])
{
    QApplication a(ac, av);
    QPushButton b(tr("Μου αρέσει πίτσα"));
    QObject::connect(&b, SIGNAL(clicked()), &a, SLOT(quit()));
    b.show();
    return a.exec();
}

С гтк тебе потребуется ровно в два раза больше кода

Если писать на чистом C — возможно. А на Vala — совсем нет:

void main(string[] args)
    {
    Gtk.init(ref args);
    var win=new Gtk.Window();
    win.add(new Gtk.Button.with_label("Нажми меня!"));
    (win.child as Gtk.Button).clicked.connect(Gtk.main_quit);
    win.show_all();
    Gtk.main();
    }

Ну и для полноты, пример с меткой (опять же, Vala):

void main(string[] args)
    {
    Gtk.init(ref args);

    var win=new Gtk.Window();
    win.border_width = 16;
    win.destroy.connect(Gtk.main_quit);

    var vbox = new Gtk.VBox(false, 16);
    win.add(vbox);

    var label = new Gtk.Label("Сижу, примус починяю...");
    vbox.pack_start(label);

    var button = new Gtk.Button.with_label("Нажми меня!");
    button.clicked.connect(() => {label.label = "Руки прочь!";});
    vbox.pack_start(button);

    win.show_all();

    Gtk.main();
    }
cdslow ★★
()
Ответ на: комментарий от anonymous

как к компании великих примазался Пайк и почему его часто относят к основателям Unix

из-за языка Pike, лол.

ну он разрабатывал ещё гуйню Blit (описание), sam, acme и совместно с Керниганом книжку написал и изобрёл utf-8. а также публикацию, дескать системное ПО уже не важно.

к юниксу имеет отношение книжка, гуйня и какой-то модуль в подсистеме ядра.

к плану9: утф8, текстовые редакторы и публикация.

а ещё язык го.

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

Vala IDE: qtcreator

MonoDevelop же. починил, не благодари.

ещё можно и Valaide попробовать — IDE проще некуда там вообще минимум кнопок, build, run, проекты и IDE куда текст писать. но под виндой у него забавные глюки, например, не открывает исходники (sicK :) лечится ключиком в реестре, да и фич не очень много.

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

Vala/Genie:

[indent=4]
/* GTK+ Genie Sample Code - compile with valac --pkg gtk+-2.0 genie-gtk.gs */
uses 
    Gtk
    
init 
    Gtk.init (ref args)
    var test = new TestWindow ()
    test.show_all ()
    Gtk.main ();


class TestWindow : Window

    init
        title = "Test Window"
        default_height = 250
        default_width = 250
        window_position = WindowPosition.CENTER
    
        destroy += Gtk.main_quit
        
        var button = new Button.with_label ("Click Me")
        
        button.clicked += def (btn)
            title = "Hello World"
            btn.label = "Hello World"
        
        add (button)

1) save above source to a file called genie-gtk.gs

2) valac --pkg gtk+-2.0 genie-gtk.gs

3) ./genie-gtk

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

всем спасибо за активность и помощь!!!

«Про qtcreator — это я поиздевался немного, потому что человек сразу забраковал GNU Emacs, которым я пользуюсь.» я же уточнил что я начинающий! знаю что такое emacs, и понимаю что как минимум пока я его просто не потяну!!!

Ignatov ★★★
() автор топика
13 марта 2013 г.

Ну так и учись ПРОГРАММИРОВАТЬ. На кой тебе гуйня? Рисовальщики гуйны - это не программисты.

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

Не расскажете ли мне про взрослое программирование, уважаемый анонимус?

Во взрослом программировании, деточка, ГУЙ рисуют специально обученные дизайнеры ГУЙни, а код (никакого вообще отношнеия к ГУЙне не имеющий) пишут программисты. И они практически не пересекаются.

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

Между тем в современном мире есть сотни причин предпочитать библиотеки пайпам.

Назови хотя бы одну. Context switch дешев.

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

И че, там не надо писать GUI?

Там GUI тебе нарисует дизайнер (непременно соответствующей ориентации) в Expression, и даст тебе готовый XAML.

Там Unix way уже давно победил.

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

Ну да, дельфокодер везде дельфокодером будет. Это уже не лечится.

anonymous
()
8 апреля 2014 г.

Для C/C++ обычно используют QT Creator или Eclipse. У C# есть стандартная IDE, MonoDevelop. Если прогал на Delphi, посмотри Lazarus, почти точная копия.

Den_Zurin
()

хочу научиться программировать

...

Однозначно GTK 3

Знатно ты на ноль поделил. Так тебе программировать, или гуйнюшку лабать? Это несовместымые и непересекающиеся направления.

Желательно на русском

И еще раз на ноль поделил. Или «программировать», или «на русском», но не одновременно и то, и другое.

anonymous
()

Она де на С написана, нет? Причем тут плюсы?

Zhbert ★★★★★
()
23 сентября 2014 г.
Ответ на: комментарий от anonymous

Вот наверное поэтому то в Linux, почти все приложения выглядят как лаба первокурсника, который набросал контролов на форму и так сойдет, главное чтобы вычисления выполнялись. Потому что всякого кто хочет узнать про создание гуевых приложений под Linux, отправляют в пешее ... путешествие. Всех распугают, а потом ой почему же у линукса такая долья на рынке операционных систем маленькая, когда же он наконец заборет этот Windows.

И сразу такие находчивые парни появляются, линукс он потому не популярный, потому что там приложений нет, которыми можно было бы заинтересовать пользователя. А приложений нет, потому что пользователей мало, и типо никто не старается. А пользователей нет, потому что, когда хомяк заходит в линукс видит эти убогие приложения думает, нафигаж оно надо, интерфесы из трех кнопок, а если что настроить надо, добро пожаловать в конфиги, вот это замануха (пользователь о таком только мечтал, чтобы маны сутками читать) А интерфесы убогие потому что гуй делать никто не хочет, этож для дизайнеров работа, тока вместо удобных апи для рисования окон, набор костылей, которые соплями связывают друг с другом чтобы работало, кое как, чтобы когда юзверь 3 кнопки решит нажать на форме.

anonymous
()

MonoDevelop для C#, остальное CodeBlocks.

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

Проходи мимо, домохозяйка. Гуй не нужен почти нигде и никогда, а в тех редких случаях, когда он нужен, его должны инженеры по юзабилити и дизайнеры делать, а не программисты. И программировать в гуйне нечего, вообще.

ЗЫ: пользователи «десктопов» дружным шагом идут в вонючую сраку. Все, поголовно. Вас еще в прошлом веке должны были закопать.

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

в C++ GTK пригоден как надёжный API

Можно подробнее?

maverik ★★
()

Однозначно GTK 3.

Зачем тебе эта унылая пародия на кроссплатформенный гуй?

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

вот на данный момент и думаю GTK или QT.... Одну софтину не плохо бы сделать. Так сказать морда для формирования запросов к базе в MySQL. Так и не работал ни с QT ни с GTK. Думаю наверно лучше на сишке написать все процедуры и функции для обращения к MySQL, а потом из гуи по кнопкам вызывать и передавать нужное

Ignatov ★★★
() автор топика
Последнее исправление: Ignatov (всего исправлений: 2)
Ответ на: комментарий от Ignatov

Гуй нужен очень, очень редко, и в таких случаях или Tk для локальной гуйни, или html для чего-то более сложного. Qt и Gtk идут в вонючую сраку.

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

Так сказать морда для формирования запросов к базе

Делай веб-морду, как все приличные люди, и не выеживайся с локальным говногуем.

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

и как потом с вебморды отправить документ с форматированием на печать? плюс интерфейс не из простых. Скомпилированный бинарник тут целесообразнее

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

и как потом с вебморды отправить документ с форматированием на печать?

Анально убивать ржавым напильником грязных выродков, которые печатают гуевое говно напрямую.

Для качественной, удобной и вообще правильной печати есть tex, lout, nroff на крайний случай.

anonymous
()

Сразу видно погромистов ЛОРа, стыдно, товарищи не дать ТС-у эти ссылки [1], [2], [3].

А ТСу вдвойне должно быть стыдно, что он гуглом не пользуется и английский не понимает, а ещё программировал.

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

ссылки то эти я сам находил;-) ищу всё гуглом, а только потом сюда. но там всё на буржуйском. Выбрал QT. Прога планируется кросплатформенной. Времени учить инглиш просто нет.

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

Времени учить инглиш просто нет.

Найди.

Чтобы начать читать документацию на английском, времени много не понадобится.

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

вот тока не lazarus!!! религия его ставить на дэбу не позволяет... потому на виртуалке и гоняю

о майн гот! Куда катится этот мир...

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

Для качественной, удобной и вообще правильной печати есть tex, lout, nroff на крайний случай.

Учту;-) Там по ситуации что проще и что практичнее будет. В выходной поспать хочется, а не чтобы телефонный звонок разбудил «Тут что-то с компом не так. Что делать?». Но как сейчас всё работает - это кошмар! Всё пишется «от руки». Плюс 100% из БД нужно будет ежемесячно вытаскивать по 2-3 документа в формате *.doc + переписывать страницы сайта. Пока хоть внедрить хоть минимальную автоматизацию. А уже потом заняться зачисткой «быдлокода».

Ignatov ★★★
() автор топика
Последнее исправление: Ignatov (всего исправлений: 2)
Ответ на: комментарий от Ignatov

может кто нить пример кинуть? вроде элементарной формы с баттоном и лэйбелом со сменой текста по нажатию на баттон?!!!

[fat]

import QtQuick 2.2
import QtQuick.Controls 1.1

Window {
    id: mainWindow
    visible: true
    width: 640
    height: 480
    title: qsTr("Simple App")

    ColumnLayout {
        TextField {
            id: textField
            text: "Please click the button"
        }

        Button {
            text: "Change the text!"

            onClicked: function () {
                textField.text = "You clicked the button!"
            }
        }
    }
}
[/fat]

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

Спс) с этим уже разобрался. Тема достаточно старая. Может быть еще кому-то нужно будет для дальнейшего разбора.

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