Guide de survie/Nourriture
À condition de savoir les reconnaître, on peut sélectionner des plantes et champignons comestibles comme la consoude, des glands, certaines baies et fruits, certaines feuilles. Il faut cependant avoir de bonnes connaissances en botanique, car certaines plantes ou champignons toxiques peuvent ressembler à des plantes comestibles.
En ce qui concerne la viande, il est préférable de l'obtenir par le biais de pièges. En effet, la chasse à l'aide d'armes improvisées nécessite de l'expérience et une bonne condition physique, en outre elle se révèle très négative au point de vue du bilan énergétique dans le cas où elle est infructueuse.
On peut ajouter à cela le risque de se blesser en poursuivant le gibier. La chasse doit donc être prise en compte uniquement dans une région très riche en gibier et en possession de l'expérience adéquate. Les pièges quant à eux fonctionnent seuls, jour et nuit en de multiples endroits, par tous les temps. De plus, la construction de pièges demande relativement peu d'énergie et se trouve plus à la portée du citadin moderne qui peut y employer toute son imagination et ingéniosité. Il existe de nombreux types de pièges , tous fonctionnent selon l'un ou plusieurs des mécanismes suivants : la strangulation, la chute, la suspension et le filet. Posez les pièges sur une piste de gibier (traces), de préférence là où le terrain forme un rétrécissement. 
Pour une cuisson sans feu :
Pour cuire la viande sans feu, il est possible de couper la chair en petit lambeau qu'il faudra par la suite étendre sur une cordelette comme un collier, et la laisser au soleil pendant a peu près quatre heures.
Un autre moyen de se procurer de la nourriture est l'entomophagie. La plupart des insectes sont comestibles crus, mais il est aussi possible de les griller sur des pierres chaudes, des braises ou de les bouillir pour les rendre moins répulsifs. Retirez pattes et ailes, ainsi que les carapaces rigides avant la préparation. Les sauterelles, coléoptères, fourmis, abeilles et termites, ainsi que leurs larves sont mangeables, pour n'en citer que quelques uns. Il faut veiller à ne ramasser que les insectes et larves aux couleurs discrètes, car ceux aux couleurs vives sont presque toujours venimeux. En outre il vaut mieux éviter les espèces qui se nourrissent de charognes ; elles peuvent êtres porteuses de maladies.

Programmation Qt/Signaux et slots
Dans le premier exemple du chapitre précédent, cliquer sur le bouton "Hello world!" ne déclenchait aucune action.
Pour qu'un bouton puisse être utile, il faut connecter le signal codice_1 à un slot ayant la même signature.
Définition.
Les signaux et slots permettent d'interconnecter des objets Qt entre eux :
Tout objet Qt peut définir des signaux, et des slots pour recevoir des signaux en provenance d'autres objets Qt.
Conclusion : en appuyant par exemple sur un bouton, celui-ci envoie le signal codice_1. Quand on recevra ce signal de la part de ce bouton on va déclencher une action par un slot : par exemple la fenêtre qui quitte.
Définir un signal.
Un signal est défini dans le fichier d'en-tête déclarant la classe :
class Telechargement: public QObject
 Q_OBJECT
public signals:
 void fichierRecu(QString chemin_fichier);
Aucune implémentation n'est à définir dans la classe.
Le signal est utilisable dans la définition de la classe :
void Telechargement::Terminer()
 // Nettoyage...
 // Signaler la fin
 emit fichierRecu( this->m_chemin_fichier );
Définir un slot.
Un slot est similaire à une méthode de la classe :
class Stockage: public QObject
 Q_OBJECT
public slots:
 bool stockerFichier(QString chemin_fichier);
 bool supprimerFichier(QString chemin_fichier);
 void finArchivage();
// ...
bool Stockage::stockerFichier(QString chemin_fichier)
 // ... copie du fichier spécifié dans le lieu de stockage
bool Stockage::supprimerFichier(QString chemin_fichier)
 // ... suppression du fichier spécifié
void finArchivage()
 // ... afficher le message "Fin de l'archivage"
Connexion.
Un signal peut être connecté :
Un slot peut recevoir plusieurs signaux, c'est à dire qu'on peut connecter le même slot à plusieurs signaux.
La connexion entre un signal et un slot s'effectue en appelant la méthode statique codice_4 de la classe codice_5.
Cette méthode possède 5 paramètres :
Seuls les 4 premiers sont obligatoires.
Exemple utilisant les classes codice_11 et codice_12 vues auparavant :
Telechargement *telechargePage = new Telechargement( /*...*/ );
Stockage *stockageCleUsb = new Stockage( /*...*/ );
QtObject::connect(
 telechargePage, SIGNAL(fichierRecu(QString)), // signal fichierRecu émis par telechargePage
 stockageCleUsb, SLOT(stockerFichier(QString)) // connecté au slot stockerFichier de stockageCleUsb
Si on connecte plusieurs slots à un signal, ils seront invoqués séquentiellement dans l'ordre où ils sont connectés.
Par exemple, pour successivement copier puis supprimer le fichier et enfin afficher un message quand le téléchargement est terminé :
// ...
QtObject::connect(
 telechargePage, SIGNAL(fichierRecu(QString)),
 stockageCleUsb, SLOT(stockerFichier(QString))
QtObject::connect(
 telechargePage, SIGNAL(fichierRecu(QString)),
 stockageCleUsb, SLOT(supprimerFichier(QString))
QtObject::connect(
 telechargePage, SIGNAL(fichierRecu(QString)),
 stockageCleUsb, SLOT(finArchivage())
Le slot doit posséder une signature compatible avec le signal auquel il est connecté. C'est-à-dire :
Utilisation.
Maintenant, on peut donc découvrir l'exemple qui sera sûrement un des plus utilisés.
La classe codice_15 a un signal codice_1, qui s'active quand l'utilisateur clique sur le bouton. On le connecte donc au slot codice_17 de l'objet codice_18, votre application.
Découverte de codice_19.
codice_19 est une méthode statique. On écrit donc :
QObject::connect();
La méthode codice_4 prend 4 arguments :
Exercice : la fenêtre se ferme après avoir cliqué sur un bouton.
Lançons-nous dans la création du code de codice_22.
//main.cpp

int main(int argc, char *argv[])
 QApplication app(argc, argv);
 MaFenetre fenetre;
 fenetre.show();
 return app.exec();
//MaFenetre.h
class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
 public:
 MaFenetre();
 private:
 QPushButton *m_bouton;

//MaFenetre.cpp
MaFenetre::MaFenetre() : QWidget()
 setFixedSize(300, 150);
 m_bouton = new QPushButton("Quitter", this);
 m_bouton->setFont(QFont("Comic Sans MS", 14));
 m_bouton->move(110, 50);
 // Connexion du clic du bouton à la fermeture de l'application
 QObject::connect(m_bouton, SIGNAL(clicked()), qApp, SLOT(quit()));
Exécutons la commande codice_23, puis testons notre code. Une fenêtre s'ouvre.
Rien de bien extraordinaire à première vue. Sauf que... si vous cliquez sur le bouton "Quitter", le programme s'arrête !
Utilisation de la méthode codice_19 pour afficher "À propos".
On peut faire un autre essai pour se faire un peu plus la main si vous voulez.
Je vous ai parlé d'un autre slot de codice_25.
Je vous propose de créer un second bouton qui se chargera d'afficher la fenêtre "À propos de Qt".
Voici le code:
//MaFenetre.h
class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
 public:
 MaFenetre();
 private:
 QPushButton *m_quitter; 
 QPushButton *m_aPropos;