Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam bede musial napisac gre na zaliczenie.Chcialbym zapewnic jakies przyjazne gui zeby rozgrywka nie sprowadzala sie do wybierz pozycje 1 jesli chcesz rozpoczac nowa rozgrywke 2. jesli chcesz wczytac stan gry etc.
W tym celu musze poznac jakas biblioteke graficzna do c++ .
I tutaj pytanie do wyjadaczy co byscie polecali.Slyszalem od znajomego o libgtk ktory uzywal jej piszac w c.Jak sie ma ta bibliotek z zastosowanie w czystym c++??
Ogolnie chodzi mi o jaks w miare prosta do nauki zapewniajaca szybkie i latwe tworzenie buttonow labelow inputow czy nakladanie jpg na tlo jakiegos obszaru itp.
Offline
Właściwie gtk to nie biblioteka graficzna, tylko okienkowa. Jeśli chcesz by to była palikacja okienkowa to tak. Ale w C++ polecam wxwidgets, czyli właściwie gtk opakowane ładnie w klasy C++. Bo gtk jest w C. Jeśli bardziej ci pasuje KDE niż GNOME to polecam Qt. Obie biblioteki obsługują podstawowe operacje na grafice. A bardziej zaawansowana grafila / animacja, hmmm nie znam się na tym, ale chyba sdl się do tego nadaje.
Offline
Witam
Mam zamiar popróbować swojich siły w QT
1. Jakie pakiety musze pobrac (przez APT) żeby działały mi biblioteki QT. Wiem że wystarczy wpisac "apt-cache search QT" ale tam tego tyle wyskakuje że nie mam pojecia co instalować. A nie ptrzbny mi edytor graficzny QT tylko w formie bibliotek do g++ (nie wiem czy dobrze to napisałem)
2. jak skompilować program w g++ , który wykorzystuje biblioteki z QT tzn: normalnie pisze: "g++ -o nazwa1 nazwa.cpp" a jak zrobic żeby działało z biblioteką QT ?
pozdrawiam
Offline
# apt-get install qt3-dev-tools qt3-designer qt3-linguist qt3-assistant libqt3-mt-dev libqt3-headers
Odpal Qt Assistanta:
$ assistant
Tam masz całą dokumentację, tutoriale, FAQ itp. Zawsze jak piszę w Qt mam otwartego Assistanta i lukam w razie potrzeby.
Offline
Skad wziac lib qt3-mt-dev qt3-headers
jak sciaglem paczke z debian.org to skolei jest zbyt duze dependencies ??
Na ktorej plytce debiana to znajde??
Offline
Moze jeszcze sprecyzuje.Chodzi mi o zwykle programowanie z poziomu notatnika nie chce uzywac zadnych rad'ow a jak odpalilem assistant to tam tutorial pokazuje ze to sie odbywa za pomoca jakiegos kombajna calego.
Ja chce miec zwykla biblioteke qt zeby piszac:
#include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { QApplication a( argc, argv ); QPushButton hello( "Hello world!", 0 ); hello.resize( 100, 30 ); a.setMainWidget( &hello ); hello.show(); return a.exec(); }
i kompilujac za pomoca skryptu :
#! /bin/bash ############################################# # # A script to compile qt programs. To compile, # enter: ./compile cpp_name without the '.cc'. # To run the program: ./name [ -style=windows||platinum ] # ############################################# QTDIR="/usr/lib/qt3"; CPP_FILE=$1; ########## COMPILE CODE HERE ############## g++ -c -I${QTDIR}/include $CPP_FILE.cc; g++ -o $CPP_FILE $CPP_FILE.o -L${QTDIR}/lib -lqt;
Nie wywalalo mi komunikatu ze :
hello.cc:1:26: qapplication.h: No such file or directory
[/list]
Offline
Chodziło mi oczywiście o libqt3-mt-dev libqt3-headers. :] Poprawiłem w poprzednim poście.
Offline
Mam problem ktory nie wiem jak ugryzc.
A mianowicie kompiluje sobie hello.cc
#include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { QApplication a( argc, argv ); QPushButton hello( "Hello world!", 0 ); hello.resize( 100, 30 ); a.setMainWidget( &hello ); hello.show(); return a.exec(); }
skryptem o nastepujacej tresci:
#! /bin/bash ############################################# # # A script to compile qt programs. To compile, # enter: ./compile cpp_name without the '.cc'. # To run the program: ./name [ -style=windows||platinum ] # ############################################# QTDIR="/usr/include/qt3"; CPP_FILE=$1; ########## COMPILE CODE HERE ############## g++ -c -I${QTDIR} $CPP_FILE.cc; g++ -o $CPP_FILE $CPP_FILE.o -L${QTDIR} -lqt;
I dostaje taki komunikat
collect2: ld returned 1 exit status
Niby pojawia sie plik hello.o ale nie moge go odpalic i nie wiem co dalej robic i skad sie ten error bieze oraz czy ma wplyw na kompilacje.
Offline
Po nazwie skrypty wpisales nazwe zródła bez cc ? bo tak trzeba zrobić, moze nie masz ustawionej scieżki, ostatnie co mi przychodzi do głowy to to że brakuje Ci jakiegoś pakietu dev
Offline
Zainstalowane mam wszystko to co wczesniej podal prezu oczywiscie kompiluje
./compile hello
dodatokow podczas kompilacji dostaje komunikat:
/usr/bin/ld: cannot find -lqt
Wogule to dziwnie mam potworzone te biblioteki /usr/include/qt3
zamiast /usr/qt3/include
tak samo nie mam w katalogu qt3 folderu lib a z tego co wiem powinien byc
a i do czego sluzy przelacznik -lqt????
Offline
Przede wszystkim używaj -lqt-mt (zobacz na nazwę pliku: libtq-mt.so, zawsze odrzucasz lib z początku i .so z końca, to co zostanie dajesz z opcją -l). Ale tak się nie robi. Program będzie się kompilował u ciebie, ale co u innych? Poza tym jak chcesz poznać zasady kompilacji linkując z Qt, to niestety musisz sporo poczytać o tym. Ponadto jeśli chcesz by program był przenośny korzystaj z qmake - on rozpozna gdzie w danym systemie są biblioteki, jaka jest wersja Qt (czy wielowątkowa czy nie) i tym podobne pierdoły. Jeśli qmake ci się nie podoba to możesz w autotoolsach działać, ale sporo tu roboty. :/ Po to masz qmake by budowanie projektu było łatwiejsze! A ty możesz się skupić na istotnych sprawach!
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.20.108' WHERE u.id=1 |
0.00070 | UPDATE punbb_online SET logged=1732308152 WHERE ident='18.116.20.108' |
0.00050 | SELECT * FROM punbb_online WHERE logged<1732307852 |
0.00060 | DELETE FROM punbb_online WHERE ident='54.36.148.108' |
0.00047 | SELECT topic_id FROM punbb_posts WHERE id=15634 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=1853 ORDER BY posted |
0.00057 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=1853 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00087 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=1853 ORDER BY p.id LIMIT 0,25 |
0.00079 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1853 |
Total query time: 0.00571 s |