Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [C++] GTK+ image  (gelezen 2017 keer)

Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
[C++] GTK+ image
« Gepost op: 2010/06/22, 19:11:44 »
beste forum

sinds korte tijd ben ik ook bezig in C++ te programmeren.
ik vond het een heel gedoe om ├╝berhoupt een schermpje tevoorschijn te toveren.
dus GTK+ is voor mij een uitkomst. nu wil ik (als leerervaring) proberen ene programma te schrijven waarmee je een verkeerslicht kan bedienen.
ik heb ene scherm met knoppen (en de bijbehorende callbacks) en een 2e scherm dat leeg is
nu wil ik in dat 2e scherm een verkeerslicht tekenen. dit kan op de volgende manieren:
1    JPEG (of andere formaten) afbeeldingen
2    drawing area

nu ben ik bij beide manieren vastgelopen, de documentatie hierover is vrij slecht dus

HELP!!


notitie:
ookal is dit programma misschien niets inventiefs, het is om te leren. als mij dit lukt, dan zouden er in de toekomst misschien ingewikkeldere programma's komen. verder ben ik altijd van mening dat de "probeersels" nergens anders thuis horen dan op JOUW harddrive. het internet is namelijk al vol genoeg.

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #1 Gepost op: 2010/06/22, 20:13:28 »
Een gtk_image() is precies wat ge zoekt. Een drawing area is al meer geavanceerd omdat ge dan zelf het verkeerslicht moet gaan tekenen met cairo. Wel leuk, en misschien zelfs handig in de toekomst, maar voor dit is een image voldoende.

Kijk in de reference manual voor info over de image widget: http://library.gnome.org/devel/gtk/unstable/GtkImage.html

Vooral de gtk_image_new_from_file() methode: http://library.gnome.org/devel/gtk/unstable/GtkImage.html#gtk-image-new-from-file

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #2 Gepost op: 2010/06/23, 08:36:08 »
sinds korte tijd ben ik ook bezig in C++ te programmeren.
ik vond het een heel gedoe om ├╝berhoupt een schermpje tevoorschijn te toveren.

#include <QtGui/QApplication>
#include <QtGui/QWidget>

#define SYLPH_MAIN_CLASSIC_PARAMS
#include <Sylph.h>

int SylphMain(int argc, char** argv) {
    QApplication app(argc, argv);

    QWidget* w = newgc<QWidget>();
    w->show();
   
    return app.exec();
}
At your service :)
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #3 Gepost op: 2010/06/23, 10:39:45 »
ik zal gtkimage() dan nogmaals proberen
er staat wel duidelijk hoe ik een image moet maken, maar niet hoe ik deze in mijn schermpje moet importeren

en euuhh SeySayux?
ik heb al via:
GtkWidget* window
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "besturing");
 g_signal_connect (window, "delete-event",
                      G_CALLBACK (delete_event), NULL);
gtk_widget_show (window);

een schermpje op kunnen roepen, er staan ook al knoppen in.
jouw versie is in QT en niet in GTK...

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #4 Gepost op: 2010/06/23, 11:58:33 »
jouw versie is in QT en niet in GTK...
En daar is een reden voor... ;)
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #5 Gepost op: 2010/06/23, 13:14:32 »
Ik heb alleen ervaring met PyGTK, maar gtk.Window is een subclass van gtk.Container waar widgets in geplaatst kunnen worden. Dus gebruik de add() methode van gtk.Container om widgets toe te voegen.

Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #6 Gepost op: 2010/06/26, 18:16:32 »
oke ik heb t geprobeerd (ik ben er in ieder geval mee verder gekomen dus bedankt!), nu krijg ik dit:



goed nieuws: hij weet dat t een image moet zijn!
slecht nieuws: hij weet het image NIET te vinden. zelfs niet als ik het pad absoluut maak!
ik heb png en jpg gebruikt, maar dit moet eigenlijk niet zoveel uitmaken

misschien ligt het aan code::blocks???

in ieder geval.. ik ben nu zo dichtbij!!! ik wil graag dat het werkt

de code (alleen van het image) is als volgt: (en ja ik heb bovenaan een widget image gedeclareert, ik krijg namelijk 0 errors)

create_image (void)
{

  image = gtk_image_new_from_file ("red.jpg");

  gtk_container_add (GTK_CONTAINER (drawing), image);

  g_signal_connect (G_OBJECT (drawing),
                    "button_press_event",
                    G_CALLBACK (button_red_pressed),
                    image);

  return image;

hij zit dus gekoppeld aan drawing (mijn schermpje)
vervolgens stant in main()

drawing = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 g_signal_connect (drawing, "delete-event",
                      G_CALLBACK (delete_event), NULL);
 gtk_container_set_border_width (GTK_CONTAINER (drawing), 80);

gtk_widget_show_all (drawing);


en daarna de gebruikelijke gtk commando's die er hier niet toe doen....
« Laatst bewerkt op: 2010/06/28, 10:17:39 door niekn »

Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #7 Gepost op: 2010/06/29, 10:26:32 »
...

Offline Glenn nl

  • Lid
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #8 Gepost op: 2010/07/01, 22:14:22 »
sinds korte tijd ben ik ook bezig in C++ te programmeren.
ik vond het een heel gedoe om ├╝berhoupt een schermpje tevoorschijn te toveren.

#include QtGui/QApplication>
#include QtGui/QWidget>

#define SYLPH_MAIN_CLASSIC_PARAMS
#include <Sylph.h>

int SylphMain(int argc, char** argv) {
    QApplication app(argc, argv);

    QWidget* w = newgc<QWidget>();
    w->show();
    
    return app.exec();
}

At your service :)

AAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!

LOL  :evil:
« Laatst bewerkt op: 2010/07/01, 22:17:46 door Glenn nl »

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #9 Gepost op: 2010/07/03, 21:05:13 »
AAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!

LOL  :evil:
Iemand hier die niet tegen een goed gestructureerde toolkit kan en dus maar brol gebruikt? :P
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
Re: [C++] GTK+ image
« Reactie #10 Gepost op: 2010/07/04, 09:42:19 »
bljikbaar wel, maar hij had de regel eronder niet gelezen... een schermpje was mij al gelukt via GTK