Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2003, 11:10   #1
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
GTK e C++

Dove trovo una guida che mi insegni ad usare le GTK(BENE!) con il C++ per creare GUI??
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2003, 18:55   #2
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Re: GTK e C++

Quote:
Originally posted by "Kleidemos"

Dove trovo una guida che mi insegni ad usare le GTK(BENE!) con il C++ per creare GUI??
Imparati prima ad usare il toolkit nativo con il C, vedrai che poi usarle sotto C++ è solo una questione di leggere qualche esempio.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2003, 18:58   #3
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
prova un pò qui:

http://utenti.lycos.it/ldm/art/iart7.htm
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 01:08   #4
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Re: GTK e C++

Quote:
Originally posted by "mjordan"



Imparati prima ad usare il toolkit nativo con il C, vedrai che poi usarle sotto C++ è solo una questione di leggere qualche esempio.
Secondo me le GTK come interfaccia sono un abominio . Piu' semplice partire da un binding per il C++, che e' decisamente piu' intuitivo anche se c'e' meno documentazione (ad esempio con le GTK--, http://www.gtkmm.org)
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 20:19   #5
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Re: GTK e C++

Quote:
Originally posted by "Kleidemos"

Dove trovo una guida che mi insegni ad usare le GTK(BENE!) con il C++ per creare GUI??
Su una rivista di Linux ho letto che consigliavano questo libro:
http://www.apogeonline.com/libri/00615/scheda

Il mio è solo un link.Di più nin sò
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2003, 08:12   #6
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Re: GTK e C++

Quote:
Originally posted by "/\/\@®¢Ø"



Secondo me le GTK come interfaccia sono un abominio . Piu' semplice partire da un binding per il C++, che e' decisamente piu' intuitivo anche se c'e' meno documentazione (ad esempio con le GTK--, http://www.gtkmm.org)
Non capisco come fai a dire che un binding per un toolkit nativo di un altro linguaggio sia + intuitivo...
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2003, 08:13   #7
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Re: GTK e C++

Quote:
Originally posted by "gokan"


Su una rivista di Linux ho letto che consigliavano questo libro:
http://www.apogeonline.com/libri/00615/scheda

Il mio è solo un link.Di più nin sò
Non è un libro che può essere letto da una persona che le GTK+ non le conosce.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2003, 15:16   #8
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Purtroppo è il problema delle QT

Si inventassero qualcosa tipo il QT Designer della TrollTech

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2003, 17:16   #9
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Re: GTK e C++

Quote:
Originally posted by "mjordan"



Non capisco come fai a dire che un binding per un toolkit nativo di un altro linguaggio sia + intuitivo...
Nel caso in questione si tratta di un toolkit dalla struttura object-oriented implementato in un linguaggio procedurale.
Un qualsiasi binding per un linguaggio OO riesce a togliere di mezzo i trucchi arcani a cui sono ricorsi gli implementatori delle GTK+ per fare cio'.

Ad esempio ecco il codice per fare un semplice "Hello World" con le GTK+ e due binding differenti ( uno C++ e l'altryo Python )

GTK+:
Codice:
#include <gtk/gtk.h>
static void hello( GtkWidget *widget,
                   gpointer   data )
{
    g_print ("Hello World\n");
}

static gboolean delete_event( GtkWidget *widget,
                              GdkEvent  *event,
                              gpointer   data )
{
    g_print ("delete event occurred\n");
    return TRUE;
}

static void destroy( GtkWidget *widget,
                     gpointer   data )
{
    gtk_main_quit ();
}

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;
    GtkWidget *button;
    gtk_init (&argc, &argv);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    
    g_signal_connect (G_OBJECT (window), "delete_event",
		      G_CALLBACK (delete_event), NULL);
    
    g_signal_connect (G_OBJECT (window), "destroy",
		      G_CALLBACK (destroy), NULL);
    
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    
    button = gtk_button_new_with_label ("Hello World");
    
    g_signal_connect (G_OBJECT (button), "clicked",
		      G_CALLBACK (hello), NULL);
    
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
			      G_CALLBACK (gtk_widget_destroy),
                              G_OBJECT (window));
    
    gtk_container_add (GTK_CONTAINER (window), button);
    
    gtk_widget_show (button);
    
    gtk_widget_show (window);
    
    gtk_main ();
    
    return 0;
}
gtkmm:
Codice:
#include <iostream>
#include <gtkmm/button.h>
#include <gtkmm/window.h>

class HelloWorld : public Gtk::Window
{

public:
  HelloWorld();
  virtual ~HelloWorld();

protected:
  virtual void on_button_clicked();

  Gtk::Button m_button;
};

HelloWorld::HelloWorld()
: m_button("Hello World")   // creates a new button with the label "Hello World".
{
  set_border_width(10);

  m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked));

  add(m_button);

  m_button.show();
}

HelloWorld::~HelloWorld()
{
}

void HelloWorld::on_button_clicked()
{
  std::cout << "Hello World" << std::endl;
}

File: main.cc

#include <gtkmm/main.h>
#include "helloworld.h"

int main (int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);

  HelloWorld helloworld;
  Gtk::Main::run(helloworld); //Shows the window and returns when it is closed.

  return 0;
}
e py-gtk:
Codice:
#!/usr/bin/env python

# translation of the simple.c test in the gtk+ distribution, using the
# new() function from gobject (this is an example of creating objects
# with the properties interface).

import gobject, gtk

def hello(*args):
	print "Hello World"
	window.destroy()

def destroy(*args):
	window.hide()
	gtk.main_quit()

window = gobject.new(gtk.Window,
		     type=gtk.WINDOW_TOPLEVEL,
		     title='Hello World',
		     allow_grow=gtk.FALSE,
		     allow_shrink=gtk.FALSE,
		     border_width=10)
window.connect("destroy", destroy)

button = gobject.new(gtk.Button, label="Hello World", parent=window)
button.connect("clicked", hello)

window.show_all()
gtk.main()
Al di la' del codice in se' (che non e' perfettamente identico), quello che e' piu' evidente e' che mentre col C devi fare contorsionismi con le dita sulla tastiera, con gli altri due linguaggi risulta tutto piu' naturale, visto che non devi scrivere a ripetizione macro e cast uno sull'altro, e in piu' il compilatore puo' scovare molti piu' errori.
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2003, 16:19   #10
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Re: GTK e C++

Quote:
Originally posted by "/\/\@®¢Ø"


Nel caso in questione si tratta di un toolkit dalla struttura object-oriented implementato in un linguaggio procedurale.
Un qualsiasi binding per un linguaggio OO riesce a togliere di mezzo i trucchi arcani a cui sono ricorsi gli implementatori delle GTK+ per fare cio'.

Ad esempio ecco il codice per fare un semplice "Hello World" con le GTK+ e due binding differenti ( uno C++ e l'altryo Python )

GTK+:
Codice:
#include <gtk/gtk.h>
static void hello( GtkWidget *widget,
                   gpointer   data )
{
    g_print ("Hello World\n");
}

static gboolean delete_event( GtkWidget *widget,
                              GdkEvent  *event,
                              gpointer   data )
{
    g_print ("delete event occurred\n");
    return TRUE;
}

static void destroy( GtkWidget *widget,
                     gpointer   data )
{
    gtk_main_quit ();
}

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;
    GtkWidget *button;
    gtk_init (&argc, &argv);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    
    g_signal_connect (G_OBJECT (window), "delete_event",
		      G_CALLBACK (delete_event), NULL);
    
    g_signal_connect (G_OBJECT (window), "destroy",
		      G_CALLBACK (destroy), NULL);
    
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    
    button = gtk_button_new_with_label ("Hello World");
    
    g_signal_connect (G_OBJECT (button), "clicked",
		      G_CALLBACK (hello), NULL);
    
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
			      G_CALLBACK (gtk_widget_destroy),
                              G_OBJECT (window));
    
    gtk_container_add (GTK_CONTAINER (window), button);
    
    gtk_widget_show (button);
    
    gtk_widget_show (window);
    
    gtk_main ();
    
    return 0;
}
gtkmm:
Codice:
#include <iostream>
#include <gtkmm/button.h>
#include <gtkmm/window.h>

class HelloWorld : public Gtk::Window
{

public:
  HelloWorld();
  virtual ~HelloWorld();

protected:
  virtual void on_button_clicked();

  Gtk::Button m_button;
};

HelloWorld::HelloWorld()
: m_button("Hello World")   // creates a new button with the label "Hello World".
{
  set_border_width(10);

  m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked));

  add(m_button);

  m_button.show();
}

HelloWorld::~HelloWorld()
{
}

void HelloWorld::on_button_clicked()
{
  std::cout << "Hello World" << std::endl;
}

File: main.cc

#include <gtkmm/main.h>
#include "helloworld.h"

int main (int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);

  HelloWorld helloworld;
  Gtk::Main::run(helloworld); //Shows the window and returns when it is closed.

  return 0;
}
e py-gtk:
Codice:
#!/usr/bin/env python

# translation of the simple.c test in the gtk+ distribution, using the
# new() function from gobject (this is an example of creating objects
# with the properties interface).

import gobject, gtk

def hello(*args):
	print "Hello World"
	window.destroy()

def destroy(*args):
	window.hide()
	gtk.main_quit()

window = gobject.new(gtk.Window,
		     type=gtk.WINDOW_TOPLEVEL,
		     title='Hello World',
		     allow_grow=gtk.FALSE,
		     allow_shrink=gtk.FALSE,
		     border_width=10)
window.connect("destroy", destroy)

button = gobject.new(gtk.Button, label="Hello World", parent=window)
button.connect("clicked", hello)

window.show_all()
gtk.main()
Al di la' del codice in se' (che non e' perfettamente identico), quello che e' piu' evidente e' che mentre col C devi fare contorsionismi con le dita sulla tastiera, con gli altri due linguaggi risulta tutto piu' naturale, visto che non devi scrivere a ripetizione macro e cast uno sull'altro, e in piu' il compilatore puo' scovare molti piu' errori.
Sara' comunque e' questione di gusti...
mjordan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Il presidente di Sony ha venduto il 56,5...
Nuova vulnerabilità per il kernel...
Fallout Stagione 2: 10 le nomination agl...
IQM porterà il quantum computer L...
2 MB di memoria RAM sono sufficienti per...
Incendio a Bovisa: cosa succede quando u...
AMD lancia 11 nuovi processori tra Ryzen...
IBM tra IA, sovranità digitale e ...
Blocco dei social sotto i 14 anni. A chi...
Nothing Ear (3a): la recensione delle cu...
DENZA BAO 5, il primo SUV del marchio BY...
Addio cavi in auto: Ottocast a IFA con C...
HONOR "Summer Essentials": l'e...
IBM fa la cura dimagrante ai mainframe z...
DENZA Z, la supercar con 3 motori elettr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v