LINUX.ORG.RU

На чем удобно делать GUI?

 


1

3

Ищу нечто, где просто и легко можно создавать GUI, с минимумом писанины кода (желательно, не трогая визуальные средства и всякие XML). Не важно под какую платформу (если даже оно под Amiga), не важно какого года, не важно какие требования к ресурсам или зависимостям. Особенно интересны средства, где можно сделать тысячу окошек с разными кисточками/палитрами (как в Гимпе), склеивать/разделять эти окошки в рантайме, при этом желательно не изводить пользователя тысячей нативных окон, как это когда-то делал Гимп.

Ответ на: комментарий от RazrFalcon

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

Все остальное — это личные предпочтения для личных проектов, которые хоть на ассемблере под КолибриОС писать можно.

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

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

CrossFire ★★★★★
()

На коленке. Пока не прострелят.

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

hello world под 50МиБ это норм?

А в Qt Widgets при зависимости от ICU/OpenGL потребление общей памяти тоже в пределах 50МБ. Да, она общая, шарится. Но она есть.

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

Msegui, зависит только от иксов

А оно будет работать, когда случится Wayland? Он ведь нагрянет во все дистры быстро, как systemd.

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

Да, она общая, шарится.

В QML тоже шарится. ICU есть и у QML.

RazrFalcon ★★★★★
()

Я бы wx взял. Но тут его не любят.

Shadow ★★★★★
()

WindowsForms, там очень просто заниматься формошлепством. А вообще не из этого надо выбирать что тебе надо.

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

Проблема в том, что оно до сих пор страшное во всех OS.

Проблема в том, что он тебе не нравится, более того, ты его не видел.

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

Конечно нет, но теперь...

// gcc hello.c -lmui
#include <exec/types.h>
#include <libraries/mui.h>

#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/muimaster.h>
#include <clib/alib_protos.h>

int main(void)
{
    Object *wnd, *app, *but;

    // GUI creation
    app = ApplicationObject,
        SubWindow, wnd = WindowObject,
            MUIA_Window_Title, "Hello world!",
            WindowContents, VGroup,
                Child, TextObject,
                    MUIA_Text_Contents, "\33cHello world!\nHow are you?",
                    End,
                Child, but = SimpleButton("_Ok"),
                End,
            End,
        End;

    if (app != NULL)
    {
        ULONG sigs = 0;

        // Click Close gadget or hit Escape to quit
        DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
                 (IPTR)app, 2,
                 MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        // Click the button to quit
        DoMethod(but, MUIM_Notify, MUIA_Pressed, FALSE,
                 (IPTR)app, 2,
                 MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        // Open the window
        set(wnd, MUIA_Window_Open, TRUE);

        // Check that the window opened
        if (XGET(wnd, MUIA_Window_Open))
        {
            // Main loop
            while((LONG)DoMethod(app, MUIM_Application_NewInput, (IPTR)&sigs)
                  != MUIV_Application_ReturnID_Quit)
            {
                if (sigs)
                {
                    sigs = Wait(sigs | SIGBREAKF_CTRL_C);
                    if (sigs & SIGBREAKF_CTRL_C)
                        break;
                }
            }
        }
        // Destroy our application and all its objects
        MUI_DisposeObject(app);
    }
    
    return 0;
}
Очень, очень многословно

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