<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://qtfr.org/extern.php?action=feed&amp;type=rss&amp;fid=25" rel="self" type="application/rss+xml" />
		<title><![CDATA[Forum QtFR / Qt Python]]></title>
		<link>http://www.qtfr.org/index.php</link>
		<description><![CDATA[Les sujets les plus récents sur Forum QtFR.]]></description>
		<lastBuildDate>Wed, 22 May 2013 13:47:26 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Qmenu sans sous menu]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=15854&amp;action=new</link>
			<description><![CDATA[<p>Bonjour,</p><p>Je confirme que c&#039;est la bonne solution: on peut ajouter au menubar soit un QMenu (=&gt; avec sous-menus), soit une QAction qui déclenche tout de suite une action sans sous-menu (=&gt; ligne 38 à 41).</p><p>Voilà un exemple-test:</p><p><textarea name="CppCode" class="cpp">#!/usr/bin/python
# -*- coding: utf-8 -*-
#Python 2.7

import sys
from PyQt4 import QtCore, QtGui

#############################################################################
class Fenetre(QtGui.QMainWindow):
    &quot;&quot;&quot;Modèle de code pour les menus&quot;&quot;&quot;
 
    # =======================================================================
    def __init__(self, parent=None):
        super(Fenetre, self).__init__(parent)
 
        # met le titre de la fenêtre
        self.setWindowTitle(u&quot;test pour les menus&quot;)
        #self.setWindowIcon(QtGui.QIcon(u&quot;modele.ico&quot;))
        self.resize(400, 300)
        
        # fabrique le menu principal de la fenêtre
        menubar = self.menuBar()
        
        #--------------------------------------------------------------------
        # on ajoute un menu avec sous-menus
        menu1Menu = menubar.addMenu(&#039;Menu1&#039;)
        
        item1Action = QtGui.QAction(u&quot;Item1&quot;, self)
        item1Action.triggered.connect(self.item1)
        menu1Menu.addAction(item1Action)
        
        item2Action = QtGui.QAction(u&quot;Item2&quot;, self)
        item2Action.triggered.connect(self.item2)
        menu1Menu.addAction(item2Action)
        
        #--------------------------------------------------------------------
        # on ajoute une action sans sous-menu
        testAction = QtGui.QAction(&#039;Test&#039;, self)
        testAction.triggered.connect(self.test)
        
        testMenu = menubar.addAction(testAction)
        
    # =======================================================================
    def item1(self):
        print &quot;item1&quot;
    
    # =======================================================================
    def item2(self):
        print &quot;item2&quot;
    
    # =======================================================================
    def test(self):
        print &quot;test&quot;
    
#############################################################################
if __name__ == &#039;__main__&#039;:
    app = QtGui.QApplication(sys.argv)
    fen = Fenetre()
    fen.show()
    sys.exit(app.exec_())</textarea></p><p>PS: je n&#039;ai pas trouvé comment on peut insérer du code &quot;Python&quot;, et non du code &quot;indéfini&quot;</p>]]></description>
			<author><![CDATA[dummy@example.com (tyrtamos)]]></author>
			<pubDate>Wed, 22 May 2013 13:47:26 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=15854&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[IHM sans console python]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=15846&amp;action=new</link>
			<description><![CDATA[<p>Ok, merci beaucoup, j&#039;essai cela</p>]]></description>
			<author><![CDATA[dummy@example.com (JohanR)]]></author>
			<pubDate>Wed, 22 May 2013 09:38:31 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=15846&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[PySide avec Python 3.3.0 sur OS X]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=15143&amp;action=new</link>
			<description><![CDATA[<p>Hello</p><p>J&#039;en ai pas mal ch** à compiler PySide pour Python 3.3 et Qt 4.8 sur OS X, donc pour ceux qui veulent, je met à disposition les librairies qu&#039;il suffit de copier sur le disque dur là où il faut (enfin normalement...).</p><p>Une archive est dispo ici : <a href="https://www.dropbox.com/s/1ixn024qiyksew7/PySidePython3_Install.zip" rel="nofollow">https://www.dropbox.com/s/1ixn024qiykse … nstall.zip</a></p><p>Les instructions sont incluses.</p><p>Prérequis : Python 3.3, Qt 4.8 (et Mountain Lion ?)</p><p>Si vous essayez, merci de me donner un retour ! (succès ou non) <img src="http://www.qtfr.org/plugins/ezbbc/style/smilies/smile.png" alt="smile" /><br />En particulier si ça fonctionne sur une autre version d&#039;OS X...</p>]]></description>
			<author><![CDATA[dummy@example.com (BBenj)]]></author>
			<pubDate>Sun, 23 Dec 2012 09:57:04 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=15143&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[récupérer valeur Box]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=12685&amp;action=new</link>
			<description><![CDATA[<p>@jimshnaow : Une petite présentation dans la section &quot;le coin des membres&quot; serait nécessaire si tu comptes redevenir actif sur ce forum.<br />@fkili : Tu réponds à un vieux post, je ne suis pas sûr que le membre jimshnaow lises ta réponse <img src="http://www.qtfr.org/plugins/ezbbc/style/smilies/wink.png" alt="wink" /><br />Mais qui tente rien n&#039;a rien:D</p>]]></description>
			<author><![CDATA[dummy@example.com (babaOroms)]]></author>
			<pubDate>Tue, 09 Oct 2012 15:08:24 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=12685&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Verifier Staut d'un serveur Web a travers PyQt]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14936&amp;action=new</link>
			<description><![CDATA[<p>deja j&#039;ai trouvé solution </p><p><textarea name="CppCode" class="cpp">        oNaccessM = QtNetwork.QNetworkAccessManager()
        oUrl = QtCore.QUrl(self.cbRepository.itemData(self.cbRepository.currentIndex()).toString())
        oReq = QtNetwork.QNetworkRequest(oUrl)
        oNReply = oNaccessM.get(oReq)
        oEventLoop = QtCore.QEventLoop()
        QtCore.QObject.connect(oNReply,QtCore.SIGNAL(&quot;finished ()&quot;), oEventLoop, QtCore.SLOT(&quot;quit()&quot;))
        oEventLoop.exec_()
        bError = oNReply.error()
        if bError:
                         #s&#039;agit d&#039;un serveur non disponible</textarea></p>]]></description>
			<author><![CDATA[dummy@example.com (fkili)]]></author>
			<pubDate>Tue, 09 Oct 2012 11:13:09 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14936&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] QtSql: contrainte de clé étrangère limitée à 256 valeurs?]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14871&amp;action=new</link>
			<description><![CDATA[<p>Bonjour,</p><p>J&#039;ai trouvé! Et j&#039;aurais dû trouver plus tôt...</p><p>Il s&#039;agit effectivement d&#039;un problème de buffer/cache: les valeurs de la clé étrangère ne sont pas toutes chargées, seules les 256 premières valeurs le sont.</p><p>Solution:</p><p>Quand je demande l&#039;affichage de la table 2, je lui fournis la relation de clé étrangère qu&#039;elle doit respecter, avec: la colonne concernée, la table qui contient la clé étrangère, etc...</p><p>Connaissant cette relation, je peux obtenir facilement le modèle qui &#039;pilote&#039; cette table avec self.model.relationModel(colonne). Et quand j&#039;ai ce modèle, je peux lui demander de charger complètement sa table avec fetchMore()!</p><p>Dans le code précédent, il suffit de compléter les lignes 29 et 30 qui chargent les relations passées en argument:</p><p><textarea name="CppCode" class="cpp">        for col, tbl, champs1, champs2 in self.relations:
            self.model.setRelation(col, QtSql.QSqlRelation(tbl, champs1, champs2))
            # force le chargement complet de la table contenant la clé étrangère
            modelref = self.model.relationModel(col)
            while modelref.canFetchMore():
                modelref.fetchMore()</textarea></p><p>Et ça résout en même temps le problème des combobox: leur liste est désormais complète sans autre modification!</p><p>Bizarre: j&#039;ai bien consulté une centaine de sites web sur ce sujet (Python et C++) et je n&#039;ai rien trouvé...</p>]]></description>
			<author><![CDATA[dummy@example.com (tyrtamos)]]></author>
			<pubDate>Sun, 23 Sep 2012 10:03:32 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14871&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[valeur different de affichage ComboBox]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14694&amp;action=new</link>
			<description><![CDATA[<p>Merci PostFred!!</p>]]></description>
			<author><![CDATA[dummy@example.com (LeaB)]]></author>
			<pubDate>Wed, 29 Aug 2012 13:58:52 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14694&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[lier ComboBox]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14612&amp;action=new</link>
			<description><![CDATA[<p>Salut,<br />voilà j&#039;ai enfin réussi à faire un formulaire qui marche et dont les valeurs possibles dans la deuxième Combo dépendent du choix fait dans la première.<br />Merci beaucoup à toi Tyrtamos de m&#039;avoir aidé <img src="http://www.qtfr.org/plugins/ezbbc/style/smilies/smile.png" alt="smile" /></p><p>voici le code Python que je met en fonction d&#039;initialisation (en parallèle il y a le formulaire fait avec Qt , .ui, qui contient deux ComboBox : TYPE_PRINC et TYPE_COMP)</p><p><textarea name="CppCode" class="cpp">from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

nameField = None
myDialog = None

comp = None
princ = None


def connecterCombos(dialog,layerid,featureid):
    global myDialog
    myDialog = dialog
    buttonBox = dialog.findChild(QDialogButtonBox,&quot;buttonBox&quot;)
    
    #connecter la ComboBox TYPE PRINC 
    global princ
    princ = dialog.findChild(QComboBox,&quot;TYPE_PRINC&quot;)
    
    # possibilites pour la liste deroulante TYPE PRINC
    princ.clear()
    princ.addItems([&quot;a&quot;,&quot;b&quot;,&quot;c&quot;])
    
    #connecter la ComboBox TYPE COMP
    global comp
    comp = dialog.findChild(QComboBox,&quot;TYPE_COMP&quot;)
    
    # initialiser les choix de TYPE COMP pour la premiere valeur de TYPE PRINC
    comp.addItems([&quot;a1&quot;,&quot;a2&quot;,&quot;a3&quot;])
    
    # Changer les possibilitees le menu deroulant TYPE COMP quand on change le TYPE PRINC
    QObject.connect(princ, SIGNAL(&quot;currentIndexChanged(int)&quot;), changeTypeComp)
    
    # Disconnect the signal that QGIS has wired up for the dialog to the button box.
    buttonBox.accepted.disconnect(myDialog.accept)
    # Wire up our own signals.
    buttonBox.accepted.connect(validate)
    buttonBox.rejected.connect(myDialog.reject)

def changeTypeComp():

    # TYPE_COMP possibles en fonction de TYPE_PRINC 

    if princ.currentText() == &#039;a&#039;:
        listItems = [&quot;a1&quot;, &quot;a2&quot;,&quot;a3&quot;]
    if princ.currentText() == &#039;b&#039;:
        listItems = [&quot;b1&quot;, &quot;b2&quot;,&quot;b3&quot;]
    if princ.currentText() == &#039;c&#039;:
        listItems = [&quot;c1&quot;, &quot;c2&quot;,&quot;c3&quot;]
    
    # Charger les possibilitees dans le menu deroulant TYPE COMP     
    comp.clear()
    comp.addItems(listItems)
    
def validate():
    myDialog.accept()
  
  </textarea></p><p>pour si c&#039;est utile a quelqu&#039;un <img src="http://www.qtfr.org/plugins/ezbbc/style/smilies/wink.png" alt="wink" /><br />A+</p><p>Léa</p>]]></description>
			<author><![CDATA[dummy@example.com (LeaB)]]></author>
			<pubDate>Wed, 01 Aug 2012 13:45:04 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14612&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] combobox]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14232&amp;action=new</link>
			<description><![CDATA[<p><textarea name="CppCode" class="cpp">dlg.ui.comBox</textarea></p><p>Je viens juste de trouver avec un autre plugin. Merci beaucoup.</p>]]></description>
			<author><![CDATA[dummy@example.com (bépoman)]]></author>
			<pubDate>Wed, 23 May 2012 20:31:25 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14232&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Conversion des coordonnées]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=14193&amp;action=new</link>
			<description><![CDATA[<p>Il faut penser à désactiver &quot;l&#039;auto-zoom&quot; (je ne me rappelle plus du nom de la méthode <img src="http://www.qtfr.org/plugins/ezbbc/style/smilies/tongue.png" alt="tongue" />) du QGraphicsView alors, sinon il va s&#039;adapter pour centrer les objets dessinés.</p>]]></description>
			<author><![CDATA[dummy@example.com (BBenj)]]></author>
			<pubDate>Mon, 14 May 2012 07:19:13 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=14193&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Ma première GUI en pyQt4+xml]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=13946&amp;action=new</link>
			<description><![CDATA[<p>Bonjour,<br />Je viens de terminer ma première GUI. Il s&#039;agit de menus qui interagissent en cascade pour accéder à des images stockées dans une arborescence. <a href="http://dip4fish.blogspot.fr/2012/04/navigation-in-images-database-with-pyqt.html" rel="nofollow">http://dip4fish.blogspot.fr/2012/04/nav … -pyqt.html</a><br />L&#039;étape suivante consiste à afficher l&#039;image dont le chemin d&#039;accès est généré. </p><p>Jean-Patrick</p>]]></description>
			<author><![CDATA[dummy@example.com (Jean-Patrick)]]></author>
			<pubDate>Fri, 06 Apr 2012 11:22:50 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=13946&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Le QVariant, méthodes toPyObject: différences entre Linux et Windows]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=11009&amp;action=new</link>
			<description><![CDATA[<p>Bonjour à tous</p><p>J&#039;ai récemment eu un soucis avec le QVariant (voir <a href="http://forum.qtfr.org/viewtopic.php?id=10722" rel="nofollow">http://forum.qtfr.org/viewtopic.php?id=10722</a>). Une des solutions proposées a été d&#039;utiliser la méthode toPyObject()</p><p>Ben le problème, c&#039;est que le comportement de cette méthode n&#039;est pas le même entre Linux et Windows. Sous Linux, elle me récupère bien le contenu du QVariant (que ce soit du simple nombre ou une liste complexe).<br />Sous Windows, elle ne fonctionne pas si le QVariant contient un élément simple (nombre ou string)</p><p>Voici un exemple montrant le soucis: 3 QVariant, le premier contient un nombre, le second une string et le 3° une liste.<br />Ensuite je récupère le contenu de chaque QVariant et je l&#039;affiche</p><p><textarea name="CppCode" class="cpp">#!/usr/bin/env python
# coding: UTF-8 -*-

# Modules Python
from PyQt4.QtCore import *

print &quot;\nEssai 1: nombre&quot;
elem=QVariant(17)
objet=elem.toPyObject()
print &quot;elem=&quot;, elem
print &quot;objet=&quot;, objet, type(objet)

print &quot;\nEssai 2: chaine&quot;
elem=QVariant(&quot;hello&quot;)
objet=elem.toPyObject()
print &quot;elem=&quot;, elem
print &quot;objet=&quot;, objet, type(objet)

print &quot;\nEssai 3: liste&quot;
elem=QVariant(    (1, 2, 3) )
objet=elem.toPyObject()
print &quot;elem=&quot;, elem
print &quot;objet=&quot;, objet, type(objet)</textarea><br />Ce code fonctionne parfaitement sous Linux. Mais sous Windows, pour les deux premiers essais, je récupère que dalle (et le type de l&#039;élément récupéré est &quot;NotImplementedType). Petit détail supplémentaire: pour le 3° essai, sous Linux je récupère une liste alors que sous Windows je récupère un tuple)<br />C&#039;est pas vraiment un problème car comme je sais ce que je stocke, je peux le récupérer comme il faut en utilisant la bonne méthode (toInt() ou toString() selon le cas) mais c&#039;est dommage quoi...</p><p>Voilà. Si certains veulent tester chez-eux pour vérifier mes résultats...</p><p>Merci à tous</p>]]></description>
			<author><![CDATA[dummy@example.com (Svear)]]></author>
			<pubDate>Sun, 11 Apr 2010 21:56:31 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=11009&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Réimplémentation de QPushButton.paintEvent()]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=8931&amp;action=new</link>
			<description><![CDATA[<p>Bonjour,</p><p>En faisant une recherche sur paintEvent je tombe sur ce fil, je comprend le principe, ce que je ne saisis pas c&#039;est la façon de déclencher l&#039;événement.</p><p>Dans mon code, j&#039;ai un QPushButton qui génère une action (copier un fichier) et ensuite &quot;peint&quot; un trait rouge sur ledit bouton.<br />Il s&#039;agit du taux de remplissage du dossier où les fichiers sont copiés.</p><p>Donc à la suite de la copie du fichier j&#039;appelle la fonction</p><p><textarea name="CppCode" class="cpp">    def paint_button(self):

        l = QtCore.QLine(0, y, 10, y)
        painter = QtGui.QPainter()
        painter.begin(self.pushButton_3)
        painter.setPen(QtGui.QPen(QtCore.Qt.red, 4,
                                  QtCore.Qt.SolidLine, QtCore.Qt.RoundCap,
                                  QtCore.Qt.MiterJoin))
        painter.drawLine(l)
        painter.end()</textarea><br />j&#039;obtiens donc :</p><p>QPainter::begin: Widget painting can only begin as a result of a paintEvent</p><p>D&#039;où ma question comment créer l&#039;événement à la suite d&#039;une autre action.<br />Dans le code d&#039;Aurelien l&#039;événement est déclenché automatiquement, ce qui n&#039;est pas le but</p><p>Cordialement<br />Vincent</p>]]></description>
			<author><![CDATA[dummy@example.com (VinsS)]]></author>
			<pubDate>Wed, 11 Nov 2009 13:59:03 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=8931&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Utilisation du module "uic" pour l'import dynamique des fichiers .ui]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=8928&amp;action=new</link>
			<description><![CDATA[<p>Prérequis :<br />- installation de Python &gt;= 2.5 + Qt &gt;= 4.4 + PyQt &gt;= 4.4<br />- les connaissances de bases en Python<br />- une connaissance de base de QtDesigner</p><p>Cet exemple met en évidence les points suivants:<br />- import du module PyQt4.uic<br />- instanciation dynamique d&#039;une fenêtre à partir d&#039;un fichier &quot;.ui&quot;</p><p><strong>Considérons le fichier &quot;main.py&quot; avec le code Python suivant</strong><br /><textarea name="CppCode" class="cpp">import os, sys
from PyQt4 import QtGui, uic

root_path = os.path.dirname(__file__)

if __name__ == &#039;__main__&#039;:

    app = QtGui.QApplication(sys.argv)

    w = uic.loadUi(os.path.join(root_path, &#039;mainwindow.ui&#039;))
    w.show()

    sys.exit(app.exec_())</textarea><br /><strong>Considérons le fichier &quot;mainwindow.ui&quot; avec le code XML suivant</strong><br /><em>La création du fichier &quot;mainwindow.ui&quot; peut aussi être effectuée à l&#039;aide de QtDesigner</em><br /><textarea name="CppCode" class="cpp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;ui version=&quot;4.0&quot;&gt;
 &lt;class&gt;MainWindow&lt;/class&gt;
 &lt;widget class=&quot;QMainWindow&quot; name=&quot;MainWindow&quot;&gt;
  &lt;property name=&quot;geometry&quot;&gt;
   &lt;rect&gt;
    &lt;x&gt;0&lt;/x&gt;
    &lt;y&gt;0&lt;/y&gt;
    &lt;width&gt;800&lt;/width&gt;
    &lt;height&gt;600&lt;/height&gt;
   &lt;/rect&gt;
  &lt;/property&gt;
  &lt;property name=&quot;windowTitle&quot;&gt;
   &lt;string&gt;MainWindow&lt;/string&gt;
  &lt;/property&gt;
  &lt;widget class=&quot;QWidget&quot; name=&quot;centralwidget&quot;/&gt;
 &lt;/widget&gt;
 &lt;resources/&gt;
 &lt;connections/&gt;
&lt;/ui&gt;</textarea><br /><strong>Invocation !</strong><br /><textarea name="CppCode" class="cpp">python main.py</textarea><br />Documentation à visiter :<br />- documentation de l&#039;API : <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/classes.html" rel="nofollow">http://www.riverbankcomputing.co.uk/sta … asses.html</a><br />- le module uic : <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#the-uic-module" rel="nofollow">http://www.riverbankcomputing.co.uk/sta … uic-module</a></p>]]></description>
			<author><![CDATA[dummy@example.com (aurelien.french)]]></author>
			<pubDate>Mon, 04 May 2009 20:03:02 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=8928&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA["Hello World!" en PyQt]]></title>
			<link>http://www.qtfr.org/viewtopic.php?id=8927&amp;action=new</link>
			<description><![CDATA[<p>Prérequis :<br />- installation de Python &gt;= 2.5 + Qt &gt;= 4.4 + PyQt &gt;= 4.4<br />- les connaissances de bases en Python</p><p>Cet exemple met en évidence les points suivants:<br />- import du module PyQt4<br />- création d&#039;une application PyQt4 avec sa boucle d&#039;évènements<br />- utilisation des signaux et slots</p><p><strong>Considérons le fichier &quot;main.py&quot; dont le code est le suivant</strong><br /><textarea name="CppCode" class="cpp">PROJECT_NAME = &#039;Hello World in PyQt&#039;

import sys
from PyQt4 import QtCore
from PyQt4 import QtGui

if __name__ == &#039;__main__&#039;:

    app = QtGui.QApplication(sys.argv)

    pushbutton = QtGui.QPushButton(&#039;Hello world !&#039;)
    pushbutton.resize(400, 100)
    pushbutton.setWindowTitle(PROJECT_NAME)
    pushbutton.show()

    QtCore.QObject.connect(pushbutton, QtCore.SIGNAL(&#039;clicked()&#039;), app, QtCore.SLOT(&#039;quit()&#039;))

    sys.exit(app.exec_())</textarea><br /><strong>Invocation !</strong><br /><textarea name="CppCode" class="cpp">python main.py</textarea><br />Documentation à visiter :<br />- documentation de l&#039;API : <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/classes.html" rel="nofollow">http://www.riverbankcomputing.co.uk/sta … asses.html</a><br />- signaux et slot en PyQt : <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#pyqt-slots-and-qt-slots" rel="nofollow">http://www.riverbankcomputing.co.uk/sta … d-qt-slots</a></p>]]></description>
			<author><![CDATA[dummy@example.com (aurelien.french)]]></author>
			<pubDate>Mon, 04 May 2009 19:39:35 +0000</pubDate>
			<guid>http://www.qtfr.org/viewtopic.php?id=8927&amp;action=new</guid>
		</item>
	</channel>
</rss>
