[FLTK, C++] Nie wyświetla się label

0

Witam!
Tworzę przykładowy program w C++, bibliotece FLTK.
Wykres wyświetlił się, ale label już nie. Nie wiem jak rozwiązać problem.

Kod:

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Chart.H>

    int a[10] = {1, 6, 7, 6, 5, 2, 8, 9, 10, 11};
int main(int argc, char ** argv) {
    Fl_Window *window;
    Fl_Chart *wykres1;
    Fl_Label *tekst1;


    window = new Fl_Window(600, 400); //tworzenie okna;
    
    tekst1 = new Fl_Label();
    tekst1->value = "1 - Cukier ASD - 10%\n2 - Cukier DSA - 60%";
    tekst1->color = FL_BLACK;
    tekst1->draw(220, 120, 200,100, FL_ALIGN_LEFT);
    
    wykres1 = new Fl_Chart( 10, 10, 200, 100, 0);
    wykres1->color(FL_WHITE);
    wykres1->label("-ilosc cukru w cukrze-");
    wykres1->add(a[0], "1", 0); //wprowadzanie danych do wykresu
    wykres1->add(a[1], "2", 1);
    wykres1->add(a[2], "3", 2);
    wykres1->add(a[3], "4", 3);
    wykres1->add(a[4], "5", 4);
    wykres1->add(a[5], "6", 5);
    wykres1->add(a[6], "7", 6);
    wykres1->add(a[7], "8", 7);
    wykres1->add(a[8], "9", 8);
    wykres1->add(a[9], "10", 9);

    window->end();
    window->show(argc, argv);

    return(Fl::run());
}

Zrzut ekranu

1

Nie znam sie na FLTK, ale zastanawia mnie jedno.
Skąd wiadomo, że tekst1 ma się wyświetlić akurat w oknie window (aplikacja może mieć wiele okien)?
Skąd wykres1 był w stanie to ustalić?

0

Lepeij napiszcie jak to FLTK w codeblocksie zainstalować ;)

0

@MarekR22: @Kacperjas FLTK ledwo liznąłem, ale z tego co pamiętam, to żeby zacząć dodawać elementy do okna należy zawołać windows->begin() przed inicjalizacją elementów oraz window->end() na koniec.

int main(int argc, char ** argv) {
    Fl_Window *window;
    Fl_Chart *wykres1;
    Fl_Label *tekst1;

    window = new Fl_Window(600, 400); //tworzenie okna;
    window->begin();
    tekst1 = new Fl_Label();
   
    //............
    window->end();
}

EDIT: Patrząc na przykład TUTAJ to chyba faktycznie brak begin i end jest tutaj problemem,

0
Radziu napisał(a):

Lepeij napiszcie jak to FLTK w codeblocksie zainstalować ;)

OP korzysta z Linuxa, więc tam coś w stylu sudo apt-get install libfltk1.3-dev. Pod windowsem to pewnie musisz skompilować ze źródeł.

Ja używam MSYS2, który ma oprócz podstawowych narzędzi do kompilacji mingw64 ma w repozytorium dużo przeróżnych pakietów. Tam w terminalu używa się pacman do zarządzania paczkami, np;

$ pacman -Su mingw-w64-x86_64-toolchain mingw-w64-x86_64-fltk

potem:

$ g++ main.cpp -lfltk
$ ./a.exe

i mamy okienko. W codeblocks możesz przestawić kompilator na ten z msys2 i powinno działać

1 użytkowników online, w tym zalogowanych: 0, gości: 1